• Advertisement

BBeck

Member
  • Content count

    220
  • Joined

  • Last visited

Community Reputation

831 Good

1 Follower

About BBeck

  • Rank
    Member

Personal Information

  • Interests
    |artist|audio|designer|programmer|production|educator|
  1. Is drawing ability required to 3D model?

    I use Blender for the bulk of the work (modeling, rendering, etc.) and Substance Painter for the painting. On some of it I use Substance Designer which comes as part of my monthly subscription to Substance Painter anyway. The background is a High Dynamic Range Map and Blender uses that for lighting. I'm really close to being done on my spaceship hallway. I expect to have that posted maybe in the next week or two as I'm putting the final touches on it. I've given it a bit more thought. I consider myself a "craftsman" when it comes to 3D modeling. I can model pretty much any machine that I can see from photos or what-ever. This sci-fi hallway I'm working on reminded me that there's a big difference between that and working from your imagination. I felt like this hallway really didn't turn out the way I expected. I think there's several reasons. Part of it is the way it was assigned to us; we come up with the concept for the pieces somewhat separately rather than having a grand vision and then figuring out how to divide it up. But I think it would have really helped to have some test sketches to try it out on paper first before spending 4 months on this only to find out it wasn't what I had really thought it would be. But there's a big difference between an artist and a craftsman. And in this case, I think the craftsman renders reality where the artist creates new realities. I think someone who draws and paints (especially paints) learns to see these things in a completely different way. I think if you really want to take 3D modeling as far as it can go, it would be very wise to study drawing and painting to be able to paint models in ways that no software alone can, as well as to have a better understanding of things like composition and lighting and such. So, one can obviously do 3D models that look very realistic without knowing how to paint or draw even a little (like me). But I know I sure wish I knew how to do it when fleshing out concepts, trying out ideas, and studying shape and form. And I don't think my work will ever really reach the level of "artist" without spending time studying art and that probably means painting and drawing. I just think that's a whole other level of creativity. In my case though, most of what I want to do is realism anyway. And in fact, I'll probably go back to coding once I get finished with this art program I'm in. (Although there are a couple specialty areas that I have not yet had a chance to model in that I could see myself spending a lot of time on in the future. For example, I have an interest in 18th to mid-19th century vehicles. So, I may continue to model that stuff just for the fun of it and to get good at it and possibly try and sell them in the Unity store or something. Think carriages, tall ships, and steam trains. Stuff like this may actually lend itself more to craftsmanship than art anyway.) If I need truly "artistic" work, maybe I can build a team and include people who are actual artists. But the more I do art, the more I appreciate people who are far more talented than I'll ever be.
  2. Is drawing ability required to 3D model?

    Talking about "fundamentals", I can speak from my experience as a musician. Fundamentals are everything. I think that's just as true for painting and drawing as much as music, from what I've seen not being really able to do either myself. Fundamentals for drawing would be things like drawing circles and ellipses as well as other primitives in 3D perspective. Those are skills that you are going to use like all the time and you can only get good at them by practicing. Learning perspective is also all about "fundamentals". Having correct perspective is one of the primary differences between an amature and a professional, although I've noticed a lot of professionals have perspective that's a slight bit off and manage to get away with it even in professional art. But having it right, really takes pretty much any piece up a level. Practicing fundamentals is probably the most important thing. Bad practice would be practicing the same thing over and over again that you already knew how to do years ago. That's not practice. Practice is about doing things you can't do and growing from the experience of learning to do the things you could not do last week. Fundamentals is at the core of that. For musicians, it's about how many hours you practiced fundamentals that you could not do last week. Thus, every week, you are learning new fundamentals that increase your dexterity with your instrument, your muscle memory, your ability to hear, your rhythm, and your knowledge of what you are doing. Knowing more than you knew the week before, every week is what makes you grow. Practicing the same thing you've been good at forever is not practice. From what little I know of painting and drawing it works the same way, although practice is really the key here and sometimes you may be practicing things that make you better or fundamentals even without realizing that you are practicing that. There is no substitute for just "doing it". Hope that's helpful advice and not just being "preachy".
  3. Is drawing ability required to 3D model?

    It would be really nice if I knew how to draw. I need to spend a lot of time studying anatomy and such and trying different ideas. I think drawing/painting that would be faster and allow me to study more. Unfortunately, I don't know how to draw although I've studied it just a little bit after enrolling in a 3D modeling art program. If you are serious about learning to draw, you might take a look at the book "How to Draw: drawing and sketching objects and environments from your imagination". As far as texturing, we are moving into an era where no one really draws or paints textures anymore. PBR is starting to become an industry standard and so texturing is done with programs like Quixel and Substance. I've used both and I can't draw or paint to save my life. With both programs, you don't really texture by drawing or painting. In Substance, I do most of my painting with fill and masking. That's like painting in Photoshop with the bucket. Here is my DeviantArt page with some of my models on it: https://www.deviantart.com/?section=&global=1&q=VirtuallyProgramming All of those were "textured" with Substance. (The backgrounds are actual photographs.) I'm probably going to be posting a space ship interior that I've been working on for the past couple of month here in a couple of weeks when I finish it up. It used a lot more advanced techniques than anything I've posted so far. And clothing for 3D games is starting to go to programs like Marvelous Designer. For that you don't need to study painting and drawing; you need to study tailoring. A friend of mine was half joking when he said, "You're probably going to start seeing advertisements from game development companies that say 'Tailor Wanted!'". It's true. The industry is heading towards ultra-realism to the point that you need real world skills, rather than the ability to draw and paint. Don't get me wrong, I have mad respect for those who have the ability to draw and paint. They are going to be able to do things I'll never be able to do, most likely. For one thing, they are in a better position to do more "artistic" looking art. Hyper-realism is something I tend to prefer. But some of the games that have really blown me away visually are the ones that go in the complete opposite direction and make something artistic or surreal. Plus, for concept art, I think it's generally easier for them to draw and paint ideas faster than modeling them allowing them to just learn and explore more ideas in the same amount of time. But personally, I'm such a beginner with painting and drawing that it's a very low priority for me to learn. I need to spend thousands and thousands of hours on it to get even reasonably decent at it. I could be spending those hours modeling (and learning how to tailor - lol). Advice I might give (and keep in mind I'm still very much a beginner at this): get into an art program or find a mentor/teacher. For me, I started out (after my previous life as a musician) as a programmer (well, I actually started programming at age 12, but I didn't really start understanding how to program 3D graphics until about roughly 8 years ago). I got into modeling just because it was difficult to find really great free models someone wanted to donate to my non-revenue generating code projects. And my modeling skills were horrible. Really bad. Non-existent. Although I had spent years learning 3D Studio Max from books and such and had been using Blender for a couple of years. I knew I needed to practice in order to get decent. But my models were the 3D equivalent of stick figure drawings. I mean check out the intro montage to my YouTube channel because that has some of my models. Those were examples of coding projects I had done about 5 years ago. The nice looking car I got offline from someone else's tutorial (Riemers I think it was). The X-Wing, likewise was a download. And professor Zombie is a tutorial from a book that I went through. But like the block car and the horrible looking boat, those were my models. I went from that to the stuff on my DeviantArt page in 6 months after I enrolled in the art program at Game Institute. A lot of that was because they push you to achieve more than you believe you can because if you had of asked me if it was possible for me to improve that much in 6 months, I would have laughed and said, "NO way!". So, I think drawing and painting ability is useful and great for 3D artists, but my DeviantArt page shows what I've been able to do so-far without knowing how to draw or paint at all. I'm not the best 3D modeler out there. But those were all done after just being in an art program for 6 months and I continue to learn and get better every day. Oh, I might also mention that I am about to publish a tutorial series on Blender on my YouTube channel "VirtuallyProgramming.com". I've already recorded about 80 minutes and I'm going to record at least another 30 tonight after I finish this. So, I'm hoping to have an entire series published out there in about a week from now. It's going to be an introduction to Blender for absolute beginners where I walk through all the processes I use by modeling a kitchen table and explaining everything as I do it. My previous videos have all been about game math and coding because the art thing is relatively new to me.
  4. Beginning with game development

    For most people I would recommend Unity unless you like Unreal Engine better. But for those that don't want to use an engine and love the self torment of writing things themselves, like I do, I recommend LearnOpenGL.com. With OGL and C++ you are doing things pretty much from scratch and that website seems to have some really great tutorials. Since you are already comfortable with C++ that should be okay. Unreal Engine also uses C++.
  5. how get over this feeling?

    So, I still spend more time learning than trying to do something I can release as a game. If I were doing 2D, there would be a lot less to learn and I could probably get something out the door with my current level of skill. But 3D is tough, especially when you try and do it all. If you can find friends to form a team with where they work on art and you work on code, that would be ideal. But my friends are musicians, not 3D modelers. You can buy 3D models, but that gets REAL expensive REAL fast. Plus, the biggest draw back there is that you are stuck with whatever models you find and they probably don't really match up art-style wise. Having someone actually able to model, whether it's yourself or someone else can make an enormous difference. My most recent projects are on my website at VirtuallyProgramming.com with XNA, DX11, and OGL stuff. I think that page covers the history of how all that came about; so I won't rehash that here. But, I started out doing XNA coding examples as tutorials. Then I switched to trying to write a DX11 engine from scratch in C++, as tutorials. Then I recoded it in OGL4.5 with C++. The Visual Studio projects are linked on those pages. So, all the source code is available for download, where you can see every line of code. One thing I learned from being a musician is to focus on fundamentals and learning and not try to put the "cart before the horse" and start before you are ready. So, I've never really gotten my skill level up to the point where I feel like I'm really ready to make a full blown game. I hosted a contest to make a Pong game years ago. As judge I wasn't allowed to have an entry in the contest, but I wanted to join in on the fun and make my own version just to say "Here's what I would have done if I could have entered into the contest." So, I started working on 3D Pong which is in the opening montage on my YouTube channel near the end. I first made a mostly functional 2D version of the game to make sure I had all the concepts down and especially things that I don't do a lot of like screen management. Then I started coding the 3D version and it was coming along nicely. Then I had to spend most of a winter in the hospital watching my father die and that got cut short. I barely had time to judge the contest and by the time I got back to having time to work on finishing the 3D Pong game the contest was over and it was largely pointless. So, I never quite finished it up. Then after Microsoft dropped support of XNA I got stuck trying to figure out where I would go next. I tried Unity for about 6 months but found that I was buying everything from models to code and not really learning anything like I had in XNA. So, I decided I wanted to continue learning about engine programming and doing things myself and decided to teach myself DX11. Then I decided I wanted to do OpenGL instead and had to start all over again. Then I decided to focus on 3D modeling for a couple of years and I've been in that mode now for about a year and a half which means I haven't done any game coding during that time. The class is more work than I have time for, which leaves me zero time to write game code. Now, I've learned PBR art and I don't know how to write a PBR shader. So, when I do get back to the code I'm probably going to want to write and learn the math behind a PBR shader in GLSL. I'm also going through some tutorials on Unreal Engine. I would like my future to be pursuing OGL as well as Unreal Engine so that I can learn the deep engine programming things and have Unreal available to crank things out more quickly. Unreal is C++ based and almost makes it pointless to do your own engine except that they own Unreal and you own your own engine. Plus, doing some of that really low level stuff helps you understand how engines work under the hood. I know a lot of what I do in my 3D modeling art is informed by my knowledge of how the graphics card itself works and how that model would be consumed by my engine code. When i put together a normal map for a model, I know the math behind a normal map and know how to write the code to play back a normal map in the engine. So, it helps me understand what I need to do as an artist. Most 3D artists would just be guessing and going off of rumor why you need to do a certain thing or how a normal map works. Anyway, the big thing about going commercial is that your first several projects are almost guaranteed not to be commercial successes. Especially if you are working in 3D there's just so much TO know that it's going to take years before you have the first clue about what you're doing even if you spend dozens of hours on it every week. Without an artist, it will make it that much more difficult as you need at least some stand-in art. A good artist can come in and replace your poor art with better art later. But knowing how to code to get the art in there is really a big part of what graphics programming is all about. So, you have to be honest with yourself as to whether the money is truly enough motivation to keep you going when you SPEND more money producing your first several projects than you EARN from them? When no one wants to buy your first few projects, what then? I've been going through "MasterClass" with James Patterson on writing novels. He's one of the top selling authors in the world. He said his first novel couldn't get published and it was a big let down. No one wanted to read it. But he picked himself up and wrote the next one. And the next one. And the next one. With failure after failure. And eventually, he learned from his failures and kept at it, not because he was looking for a big pay check, but because he loved writing and telling stories. And now he's got hundreds of major successes under his belt. If the lure of the money is enough to keep you motivated even when you're operating at a loss because you truly believe that eventually you can get out of the red and into profit, then by all means do what you want to do. If you want to become a professional game developer of some sorts even though the pay may be minuscule and you'll have to work on other peoples' ideas instead of your own, but you think you will still love it, then by all means do that. You just have to realize this isn't even close to being easy and there's a steep learning curve. You're going to go through years of failure and producing crumby work. Can you stay motivated through the bad times? Because they will be more often than not in the early years. But if you can stick to it and work hard at learning from thousands and thousands of mistakes, you can get to that professional level where everyone agrees you know what you are doing. Will, your game sell once you reach that level? Probably, although there's no guarantee that it will. People who know what they are doing, like the Beatles for example, can produce mediocre work even on their worst days. It's no guarantee that your next project will be well liked by others (some of the Beatles best work was never played on the radio and most of it was never really considered their best). There have been lots of games that I would agree are solid video games, that I just didn't like. Most of them as a matter of fact. But until you reach that level, you're game probably isn't going to even be well constructed and likely to suffer from numerous problems. If you want to go the fast commercial route, try Unity. You can script for it in JavaScript I believe (I always did C# with it because I was doing C# in XNA before that). So, the coding for it should come somewhat natural. It's a great engine for 2D and pretty good for 3D, although I'm favoring Unreal Engine partially because it's more C++ based and partially because it has a slightly better reputation for 3D work and high end graphics. Doing the low level engine programming is not everyone's "cup of tea". I like the learning as much as anything else, and thus I find it rewarding to do something like try and understand the math behind a PBR shader so that I can code it myself in GLSL. On the other hand, I'm trying to learn Unreal Engine for those days when I want to get some work done as opposed to just learning. I figure there's no reason I can't code in OGL and in Unreal. Oh. And as far as making money in game programming. Besides the years it takes to get to that level, I spend lots and lots of money on this and make almost nothing in return. My website is about $175 a year I believe. I have a subscription to Adobe CC that's $10 a month. I've got a subscription to Substance that is about $30 a month. Blender is free fortunately. I'm thinking about getting Marvelous Designer and ZBrush. I've spent thousands on computers and things like graphics tablets. I've spent hundreds if not thousands on books to learn it. I've spent thousands on classes. I've spent hundreds if not thousands on game assets at places like the Unity Store. My time is worth a substantial amount per hour that I could have been working at a job instead of games and you could say that adds up to far more of a financial loss than all this other stuff combined probably by an order of magnitude. If you really add up the costs, I would say I'm going to have to have a major hit of a game before I can get anywhere near out of the red. So, if it's just the lure of money, you have to truly believe you can eventually have a huge success after dumping massive amounts of money into it at the startup. 2D is probably a better bet if the primary interest is the money. Your startup costs are likely substantially less. The time involved is substantially less. The learning curve is substantially less. So, the quicker any success you do have down the road will pay itself off. Plus, I think 2D is still very popular on mobile. Oh, and if you want to go down the difficult path of engine programming, check out LearnOpenGL.com and check out the OpenGL tutorials there. I've been meaning to go through that, if I can get the time to learn to write PBR shaders.
  6. how get over this feeling?

    Yes, game development is my hobby. I work in the computer industry. But what I do is in the business world, not in the entertainment industry. I imagine there's no way I could find a job in the entertainment world that pays me half of what I make in the business world unless I owned the company. I think if I ever do do anything in the game industry it will be to start my own company, but I'm still several years away from being ready for that. I know a whole lot about game programming, but I also know enough to know I haven't even begun to understand the subject. There's 1,000 times more that I don't know than what I do know. And make no mistake, there are people on this forum that know a whole lot more than I know. I've just been around forever and have learned a whole lot through my failures (and triumphs) over the years. And I have a unique perspective because I have a diverse background that's extremely uncommon; I've done pretty much everything necessary to put together 3D games. I started out as a musician (which is really how I learned how to learn) because I basically had to teach myself to one extent or another. I've worked as a photographer and so understand things like lighting and so forth. I've been coding since I was 12 and 3D game (really basic engine programming) for about 5 years in DX11 and OpenGL with C++. I've programmed in like 10 different computer languages and understand machine code. I've done animation and rigging. Done a bit with foley; I certainly have done a tremendous amount of recording. I've recorded quite a few musicians including myself and studied audio engineering for awhile, even thought about doing it as a career at one point. And awhile back I got tired of my 3D modeling skills holding me back as my coding skills grew. I was doing the 3D equivalent of stick figures. I had spent years in 3D Max and then Blender, but most of my models were basically just boxes. So, like I used to do with music, I focused on my weaknesses and enrolled in a 2 year art program to learn 3D modeling. Within the first 6 months they had brought me so far I was impressing myself. I've already gone way beyond what I expected I could with the 3D modeling. I'll let you be the judge of how far my modeling skills have come. You can see several of my models in the opening montage to my YouTube channel. (I did the music and the video editing and such on the intro too. Maybe not the most brilliant piece of music I've ever written, but I like it well enough. I'm actually more of a guitar player than a synth programmer, but I play pretty much every instrument in your typical rock band and studied violin for over a year. The montage was just video clips from various projects I did over the years back before I got into DX and OGL when I was still doing XNA.) The X-Wing someone else did (I did the asteroids and used a program to generate the star field). The good looking car came from Riemer's tutorials I think. The box car was mine. LOL The trees and water I did. And the horrible looking boat I did. Professor Zombie was a tutorial from a book, but I did go through the tutorial. The 3D Pong game was a project I worked on years ago. Anyway, the stuff on my DeviantArt page is my finals from last semester in the art program. https://virtuallyprogramming.deviantart.com/ The backgrounds for the cannon and for the lamp are photographs, but the cannon and lamp were what I was doing after 6 months in the art program. I didn't think I could do it, but they assigned it to us and I just tried and surprised myself when I succeeded. That's still not organic modeling like creatures and people. I think we do that next semester. So, while I think these models look good and realistic, I know what I still can't really do and that's quite a bit. Right now I'm modeling a spaceship interior that I've been working on since September. Anyway, I'm far from an expert at anything except maybe music and I'm a decent coder. And there are some actual experts around this forum. But I figure if I know one thing someone else doesn't know, then I can help them learn that one thing. With music, I'll never teach basically anyone what I've learned for various reasons. But with game programming, it's always just been for fun for me. So, I decided to be an open book and teach anything I know for what it's worth. For many years I tried to learn and couldn't find anyone anywhere to teach me. It's like no one wants you to know how to do it. Kind of like people in the industry feel threatened that you might take their job. But I don't work in the industry, so if I have no reason not to teach anything I can. I'd like to see everyone improve their game making skills because it improves the chances that someone will make a game I can play. And some of my advice there was from life in general. A lot of it comes from being a musician for quite awhile starting out knowing nothing, playing in night clubs, and eventually realizing it wasn't what I really wanted to be doing with my life after spending quite a few years at it and going from not having a clue what I was doing to being a reasonably competent musician that other musicians could respect. I think a lot of my failures and victories in music actually taught me that I could get good at pretty much anything if I could just keep at it long enough. But it also taught me that that kind of perseverance really comes from loving what you do when no one else does. There are just unimaginable numbers of hours practicing that it requires to get good at anything when there is no one there who cares at all about what you're doing. If you don't love that thing you're doing, you can't keep it up hour after hour, day after day, year after year, for countless years in a row. And that's what it take to get good at pretty much anything in life. I've met or listened to quite a few famous people in my life (many of them musicians) and one thing I've noticed that they all have in common is that they practiced more than most people even imagine is humanly possible. There were days where I locked myself in a room for 10 hours with an instrument. Most days I only put in 30 minutes to an hour of practice. For several years that was EVERY day. I watched myself go from totally clueless to competent. Another 10 years of that and who knows. But I eventually discovered it wasn't what I really wanted to be doing in life and that I was doing it for all the wrong reasons. That's when I switched much more seriously over to game programming although I had been programming and doing game development type stuff for pretty much my whole life. Because I do game development related stuff pretty much every weekend even though noone really cares about my work. I do. That's all that matters. And if I can share what I know and help someone out along the way, so much the better.
  7. how get over this feeling?

    Well of course you are. Someone must have forgotten to explain to you that's how it works. You're probably right about being the only one that wants your game made and wasting your life. I mean at least on your first few projects. I'm under no illusion that the next few things I crank out are going to be well received. It's all about whether you want this to be your life or not. If you want this to be your life than not succeeding is okay because you are doing what you love. One thing you need to keep in mind is that no one's first project is a success. I'm certain John Carmack will tell you that he built numerous games no one else wanted to play. I've heard him say he copied games for a long time just making stuff that had already been made and no one was going to buy from him because the original idea wasn't even his. In order to succeed in life, you need to learn. And you learn from your failures. That means you need to fail a LOT. A WHOLE lot. Fail, fail, fail, fail, fail. Every time you do, learn from it and move on. You'll accumulate an enormous amount of knowledge by failing a LOT. Failing once, not so much. Failing a million times can teach you a million things and knowing a million things is a LOT. Your first several projects should be "throw away projects". They're going to be disasters on one level or another. But you'll learn from it and know how to do it better the next time. Of course that will be a disaster too. But you'll learn from that one and be even better than on the first two for the third try. And it just keeps on going this way forever until one day you've failed so many times that you know thousands of ways NOT to make a game and somehow that ends up making a successful game. Lots of good advice was given in this thread. It really is a thankless endeavor. Those that are successful are those that feel the need to "have" to do it even when no one wants their game to be made and they ARE wasting their lives making a product that is never gonna be as good as the rest of the industry. All of your initial projects are going to fail to be anywhere near what the top developers are cranking out. Fail enough and you might eventually put together something worthy of notice that has some success and who knows where that can lead, whether it's a job or your own company. But if you fail enough, people will want to play your games, it just may be a lot more failure than most people are comfortable with. I've been trying to learn how to do this for far more than a decade and still feel I'm not "there" yet. But I've failed a lot and know a whole lot because of it. But this is what I want to do with my life. In a "former life" I was a musician. I gave that up because I discovered I didn't really want to do it when no one else was interested in what I was creating. Game development is something I discovered I want to do even if everyone else on the planet hates my stuff. It doesn't matter; it's how I want to spend my time and people liking it and sharing in it is just a bonus on top of that if it happens at all. Then again, that's why I choose to have a day job instead of working in the game industry. I can do this because I enjoy doing it and my day job pays the bills regardless.
  8. Camera on Vehicle

    Basically, "what Haegarr said"! But maybe a little more directly to the point: If you multiply a matrix times another matrix and use the result as the matrix for the child, you have a parent-child relationship where the parent is attached to the child, but the child is not attached to the parent. So, moving the parent moves the child, but the child can still move freely independent of the parent. The camera/view matrix is basically the same thing as an object/world matrix it's just inverted. If you invert it again, you will have a matrix for the camera that you can treat exactly like any object's matrix. I sometimes have to play with the multiplication order and the inverses a bit because I don't memorize the math and it's pretty much just "do it the other way" if it doesn't work. But you could invert the view matrix and multiply it times the object's matrix and then invert the result back and use that for your view matrix, and I think that would make the camera's position relative to the object rather than to the origin of the world. Reverse the multiplication order if it doesn't work. (I'm sure there's a more direct/efficient way here, but that method would maybe make it most clear what's happening). You can chain these as well. So, what I would do is have a "camera boom" matrix as a child of the car body. Then you can use the camera boom matrix to set a camera position, such as the driver's seat or modify it again and make it a chase camera and modify it again to put it in the passenger seat. Then make the camera/view matrix a child of the "camera boom" matrix and a grand-child of the car's matrix. Just keep in mind that the camera is inverted because it has to be backwards. If you understand the projection matrix, you understand that a view matrix is moving the entire world around the camera position rather than the camera moving through the world. The real camera is the projection matrix and it is stationary and unable to move. The illusion of movement is created by the view matrix moving the entire game universe past the camera. So, if you tell the camera to move left, it moves the entire world right by that amount. If you tell the camera to move forward, the view matrix moves the entire world backwards by that amount. THAT is why it is inverted; it has to do everything backwards to function. Otherwise it's the same as any object's matrix. So, invert the view matrix and you can treat it like an object matrix, you just have to invert it back before using it as a view matrix. And the parent child thing is done by multiplying one matrix by the other and using the result as the matrix for the child, thus never actually using its matrix for anything other than manipulating it and this calculation. If it's helpful, I have a tutorial on almost exactly this on my website. There is some more stuff on that here. And especially this "Toy Car" example here (working example, not really a tutorial) does almost exactly what you are wanting to do although it's more of a chase camera from what I remember. I built it years ago. Problem is it is in XNA. But if you can get past the C# code, the math is exactly the same regardless. The Toy Car example is actually like the 6th example in my opening montage on my YouTube channel. There's even a video on matrices on my YouTube channel, although it doesn't cover rigid animation, which is what you're trying to do here. It's just that rigid animation is usually between two objects rather than an object and the camera. Just remember that if you invert the view matrix you can treat it like any other object, as long as you invert it back again before using it as a view matrix.
  9. I'm a rock musician. Technically I am a composer, but rock is generally pretty different from what most people imagine for composing. It's very different from classical music, film scoring, and a lot of video game music. Anyway, my recommendation is to get to school as fast as possible, but it has to be the right school. If you don't already know how to compose it's very difficult to figure out on your own (I somewhat did and it took well over a decade). I took quite a few courses at the local small town community college as far back as high school. I'm not sure they helped me much at all. I think good music teachers are few and far between and you are wasting time with those that aren't, for the most part. Contrast that with quite a few classes I took with Berklee on-line and it was night and day different. Everything I learned from Berklee was valuable. But they are considered probably the top "rock" music school in the world by many. And it wasn't cheap. But a good school can make all the difference. That and practice, practice, practice. One other thing I should mention is that most music programs expect you to already know how to play at least one instrument well, if not how to compose. Their attitude seems often to be "You should have learned music before you got here; we're only here to make you better." You need to find a program that takes you from where you are, even if that's at the very beginning, but it takes at least a few years to get from just starting out to where they expect you to be under the best of circumstances. Reality is, the vast majority of people entering music school have been doing it since they were a kid and actually are competent musicians, if not composers from day one. But with good teachers, you should be able to reach the basic competency expected for a composer in a few years of VERY hard work. (I'm not implying anything about your skill, just pointing out that some people are at the very beginning of the process.)
  10. new here and to devolopment

    Welcome! You're off to a great start if you have a team of people willing to work together on it. Unity has some stuff built in for collaberation. You should probably begin by taking a look at that. https://unity3d.com/teams As you get more experience, you'll start knowing how to collaberate better while not stepping on one anothers' toes. In the mean time, just working on separate pieces, especially ones that work together, might be a good suggestion. As far as sound, you'll have to address that eventually. For the sound effects in a 2D game, synthesizers can do a pretty good job. I own about half a dozen synths or so. I took a synth programming class on-line with Berklee. And I'll let you in on one of the little secrets: most sound designers don't really know how the synth produces music either; it's basically a glorified set of buzzers and you set envelopes and filters on it to shape the buzzer sound, which ultimately means professionals spin the dials and see "what they get". I mean, there is some craft to it and a fair amount of knowledge, especially if you are going to make music with it. But learning how to set an Attack-Sustain-Decay envelope is like half the battle. Use that to control a filter and you have a basic synth. So, just get in there and play with it; that's what the pros do. It's mostly about just spinning the dials until a happy accident comes out and then using THAT. As for learning music, that's a whole 'nother thing. My advice on that is: forget about it. I've been a musician since like forever. It's not something you can learn over-night, or even in a year. I mean if you have the world's best teachers, you might at least be respectable if you put in several hours a day every day of hard work after about a year. I've seen a few people do that. But in general, even with really good teachers, you're not going to be a good musician without putting in about 10 years of work. And you're probably going to have to put in more like 20 years before other musicians are really impressed with your stuff. You are either completely committed to it or you won't make it. People spend life times trying to get good at it. It's one thing if you are already an accomplished musician and know what you are doing, but if you are not, you can't fake it and you have a decade of hard work ahead of you to get there. And in your case, you could be spending that time learning coding or visual art or animation or all kinds of game programming stuff. So, find a musician to do the music and scoring. Schools are a great place to look for musicians willing to work free. If you are still in school you can try your school. I would look around a school near you once you have a demo of the game working that somewhat shows how the game works and most of all that you guys are serious and have at least some idea of what you are doing. Then you can try to find a musician that wants to join in the fun. I imagine that quite a few musicians who are young and just starting out, but have a fair amount of skill might be willing to compose a bit for free on such a project if you can demonstrate that the project is actually going to get finished, which usually means you are almost done with it, especially on your first project. Most musicians only play one type of instrument. So, you might look for someone who plays keyboard. The problem with keyboard players is they often take piano lessons and learn only to play other peoples' music but never learn to compose. On the other hand, keyboard/piano has a larger range than other instruments and if such a person does know how to compose, they are likely to understand it a lot better than other musicians and are more likely to be able to compose better.
  11. 3D Character Creating

    I just found this one a few minutes ago. It looks pretty interesting. Not quite Daz Studio, but much more integrated directly into Blender. I guess if you're using Max it's of no help, but for anyone using Blender it makes a whole lot of sense.
  12. what is the appeal of fps games?

    That might be a hint that FPS's are not the thing for you. :-) But I'm not really a huge FPS fan myself. I really liked Mass Effect although it was a lot more than an FPS. To me FPS is basically just one game. It's like no matter how you reskin it Monopoly is Monopoly. It's not really a "genre". It's just the same game re-skinned. But a few games like Mass Effect have managed to be more. It had role playing elements and a promise that your decisions mattered that it largely failed to deliver on from what I hear since I never finished it because that really kind of ruined it for me knowing those decisions did not really matter. But solely as an FPS, Mass Effect had fun game mechanics. It was more than just jump around in circles and you can't be hit by your opponent. So, I think there are a lot of FPS's that really are the same game re-skinned. And it's not even realistic combat. Bullets aren't affected by gravity, air density, wind, temperature. The fly in perfectly straight lines with no bullet drop. And combat tactics that would never in a million years work in the real world win the day. And shooting bullets is pretty much the entire game. Another thing is that different people like different games. I never thought much of Halo, but it was insanely popular. Sometimes you just have to realize certain types of games aren't really your thing and that's okay. A lot of people like games where they have to master the controller. I'm like, "look, if I have to use a certain type of controller to play the game, I'm out. The controller should have so little to do with the game play that you could easily switch it to a totally different type of controller unless maybe it's a vehicle game or something." I just don't like twitch games where you have to do button combos and such. But that doesn't mean there is anything wrong with those games. It's just not my preference. But it is for many people and more power to them. As a game designer, I think you need to realize that different people have different tastes in games, which is why you can never please everyone, you could make the best game in the world and there will always be someone who dislikes it, and it's important to know your target audience you are designing for.
  13. Need guidance for first game

    I have to agree with Scouting Ninja on Unity. It has a pretty solid 2D engine and I've played with it a little. However, personally I'm leaning heavily towards Unreal Engine and OpenGL after leaving DX11. But that's because I only do 3D. So, I would not recommend any of that unless you want to do 3D. From what I've seen, Unreal doesn't do 2D all that well and Unity has really built a lot of capability into their 2D engine. I think Unreal and Unity are very similar but one of the differences is I think Unity has done more with their 2D engine. So, if you want to focus on 2D, you might find Unity to be a better choice. Unreal does scripting in C++ (actually from what little I've done in it it seems like it may actually be compiling it into machine code, rather than just scripting, but I'm far from certain on that as I'm just getting started with Unreal). Unity does scripting in C# and I think it supports JavaScript scripting as well. So, you probably want to learn C# programming before going that route. You don't need to be a C# expert; if you just read a single book on C#, that would probably be enough to get started. For a whole lot of stuff you want to do, you can probably find code examples you can pretty much copy and paste.
  14. 3D Character Creating

    Daz Studio fits this bill and I think Poser does as well, but that's getting into paid programs whereas makehuman is free. Daz Studio has a free version. I think it gives you a basic human male and female. It's easy to spend a whole lot of money on these programs if you're not careful. I've seen tutorials on importing Daz Studio characters into Unreal Engine. I think even with the free version you can adjust the shape of the character. I'm not sure any of these models are optimized for games. For example, with clothes on the model probably has a lot of hidden geometry that the engine has to draw every frame but can never actually be seen (waste of gpu cycles). They tend to be pretty high poly meshes as well, but maybe not too terribly bad, especially for a main character. I've actually used MakeHuman to create basic characters for Unity. I had a problem with the armature, skinning, and rigging. I had to import the model into blender, delete the armature, recreate it from the Blender humanoid armature and then re-skin and rig it. It was a good educational exercise though. Not sure if that's gotten better, but I think Daz Studio models may handle that a lot better. I think both programs have clothes for the model. Daz Studio has a ton of stuff you can buy and blow through money pretty quickly (for a "free" program). I've been interested in Marvelous Designer. Marvelous Designer actually comes from the clothing industry. The same people make a version that is actually used to design commercial clothing. Marvelous Designer is the version for the game industry and focused on that basically throwing out features that aren't needed for game creation but are needed for creating real world clothing designs. But it looks to me to be pretty much the industry standard for clothing your models, although you may have to learn a thing or two about real world tailoring to use it. I want to get into character creation myself, but we're not doing sculpting (like with ZBrush) until next semester and I have a ton of work to crankout this semester still. I'm kind of "chomping at the bit" to get into it. So, I've been looking at this stuff. And Daz Studio and Marvelous Designer seem like they could get you started (or really just Daz Studio by itself). I imagine in the future, I'll be modeling my own base form in Blender and then either sculpting detail in Blender or in ZBrush. Then doing clothing in Marvelous Designer. Then taking it back into Blender to remove hidden geometry and such. Then painting it all in Substance Painter. I could imagine Daz Studio possibly still being part of the work-flow at that point to crank out a large number of models for NPC's and such. I'm not sure how I will feel about Daz Studio once I learn how to do it from scratch, but I can at least imagine how it might fit into my workflow once I learn to do it myself. You can customize things yourself in Daz Studio if you learn how. For example, you can make your own clothing in Marvelous Designer for Daz Studio characters (and if it's any good, sell it). So, the main reason I can think of that you would not use Daz Studio is to get more control over the model and it's topology. The other day I even saw that Daz Studio has a plugin for humanoids, which I thought looked pretty cool.
  15. Locomotive Rigging

    So I've found this to be an intriguing problem, and have ended up giving it quite a bit of thought over the past 24 hours. I think my solution somewhat builds on Scouting Ninja's advice. I'll go back to what I said earlier in that probably the easiest way to do this for you may be to animate it in Blender or whatever animation program you use. Unreal (or Unity) almost certainly has a way to load in non-humanoid (because there's plenty of tutorials on doing basically the same thing with a humanoid armature) and it's animation data and play it back. Then you should just need to control the playback speed. That's skinned animation even though this is a rigid model. For artists, that's almost certain to be the easy way out and I expect it would work just fine. The programmer side of me wanted this to be rigged animation instead. That requires understanding that bones are actually matrices and a little matrix algebra. I come from a background with XNA and then DX11 and OGL 4.5. There you have to use matrices everywhere. So, in an engine like Unity (where I've seen this) and probably in Unreal a lot of that is obfuscated from you and you are just presented with position, orientation, and scale without realizing that that's basically a game matrix. So, it may not even occur to most to treat them as matrices. But that's exactly what I would do. The thing that makes this tricky is the "main rod" of the engine. For this discussion I will be using the part names from this picture. The main rod is a problem because one end is attached to the piston rod at the crosshead. The other end is attached to the side rod on the main crankpin which is attached to the driving wheel (unlabeled but that's the wheel being turned most directly by the engine). In the real world, that crankpin is going to move in a circular path because of real world physics and the fact that it is basically on a circular track (the wheel). You don't have real world physics here, so you have to basically simulate what's going on and therein is the primary problem. Additionally, the side rod drives the other two wheels on that side. It helps substantially here if you've done rigged animation with matrices before, because this is one of the most complex examples of it I've ever done and it helps tremendously if you've done it with something a bit more simple to get the concept down. But the way rigged animation works is that when you multiply two matrices together the result parent's one matrix to the other. So, you substitute the result of that multiplication for the child's matrix. To start off with, you need to parent the train body to everything else mathematically. You can do that in Blender, for example, as long as the engine reads and understands that relationship when it imports the model. Even if it doesn't you can parent objects in Unreal (or Unity) and it will do the same thing. Or if you could not do that (which you can) you could even do it mathematically yourself by getting a matrix for the parent, maintaining your own matrix for the child, multiplying the two together every draw frame and putting the result matrix back into the child for it's position, orientation, and scale. But I think if you just get these relationships right in Unreal, it will take care of about 80% of the work for you. So, the locomotive body would be the main parent (great great grandparent or such depending on how deep this goes because children can be parents too). Everything would be a child of that. Once you do this, all of those parts will be attached to the body and move with it although they will not be yet animated. Moving the piston rod is easy; because of the parent-child relationship, it's position is relative to the locomotive and it simply needs to move forwards and backwards at a calculated rate dependent on the locomotive's velocity. (You'll have to do some math there although you can probably "wing" some of the math and just do what looks right.) The first big problem is that the main rod doesn't just simply move back and forth, but rather one end travels in a circle. I think the way I would solve this is to have the wheels actually disconnected from that and animate them separately. The wheels would be children of the locomotive body. And if you rotate them, they should be attached to the same spot on the body while rotating like wheel's should. You just have to figure out the circumference of the wheel and rotate the wheel 2pi (360 degrees) every time the locomotive moves that distance. All the wheels will turn at the same rate as long as they are the same diameter/circumference. And here's the key: I would put the crankpins on the wheels as children of the wheel. That would give it an actual position relative to the wheel it is a child of. That's not so you can animate the crankpin or attach anything to it; this is just a simulation of reality. It's because you need a position to point at. And the solution is that the main rod's bone (a bone is a matrix basically) is centered at the crosshead. The main rod must have it's position at the crosshead for this to work right. So, when you talk about the main rod's position you are also talking about the position of the crosshead. That makes that long rod controlled there at the crosshead. Now, all you need to do is use a LookAt() function for the main rod's orientation/rotation and have it "look at" the main crankpin. As long as all the speeds are right, that should basically keep it attached to the main crankpin. And viola! I think the primary problem left is the side rod; it needs to stay horizontal as it travels through it's circular path. There are probably several ways to handle this. You could have it as a child of the front crankpin and do a LookAt() to the back crankpin. So, that's your main motion. If you get into the motions of the other rods, it should basically be more of the same. Hope that helps!
  • Advertisement