Search code examples
unity-game-enginegame-enginegame-physics

How to make a high def 3D game


I'm not sure if this is the appropriate place to ask, but I want to make a game, but a really simple or dumb or basic game, in 3D. However, I want to have a beautiful world, high def graphics. Take for example, Assassins Creed Origins: https://youtu.be/P0oULMOzYyE?t=2m10s I love the water effects, solar, all that beautiful high def graphics. But I don't want to make that from scratch. I had a quick look at some unity tutorials and they all end up being pretty janky, and nothing nearly as beautiful as games from game studios. Is there some way to make a beautiful game like that where you just need to outline your world, then can add your characters and code, for example, adding like a block character that can fly and floats in the water for up to 20 seconds etc.

So in summary, easy beautiful 3D world for a game, but without a game studio budget (preferably free or near free), where I have full or pretty in depth code control of things and how they work and interact.

Assume that there's no difficulty from a coding point of view, but anything to reduce time taken would be good.


Solution

  • Attempting AAA level graphics is a very difficult task when starting out. If you are set on using the Unity3D engine, there are a lot of options for you. Before you do anything, learn your way around Unity. Unity offers some tutorials on this on their website, I recommend you check them out.

    Once you learn a bit on how to use the engine, creating hyper-realistic graphics is much easier thanks to the asset store and the effects asset bundle that comes with the engine. To start you will need an environment - be it a terrain, city, or anything else. If you want a terrain, don't use the default terrain engine in Unity to create it, as it is very limiting. Instead find a good terrain engine on the Asset Store, or use a seperate terrain tool like WorldMachine to create your world. If you simply want to model your environment manually, use a program like Blender (or 3DS Max, as you said). I've never used 3DS Max myself, but as far as I'm aware, both are good options.

    Once you have your basic environment, you will need to texture it. You can find a ton of textures for free online, or if you are willing to pay a bit of money, sites such as poliigon offer very high quality textures for a $10 monthly or more depending on the package you get. Look up some material mapping tutorials on YouTube to learn the basics of setting this all up.

    After all that, you will need to focus on lighting and effects. This is where your environment will start looking the part. In the standard package bundle that comes with unity you will get a lot shader effects that you can simply drop onto your camera object in Unity and adjust the slider to set up. These are things like bloom, god-rays, filmic-grain, vignette, etc. This is the easiest part of the project. You can find other effects on the asset store, which range wildly in price. Don't make a purchase unless you know you need it, or it's cheap enough that it doesn't actually matter if you buy it cost-wise. As you set up your effects, set up your lighting as well. Lighting is tricky, and it can really make or break your environment, so I recommend looking into artistic and technical tips and tricks on lighting on YouTube or otherwise.

    There are a few other things you would want to do as well - like adding trees and grass to any ground you have, adding particle effects where it makes sense, etc. The asset store will be your friend in this part.

    As @Programmer said, a solid understanding of the shading language can help greatly as well, along with a Reflection Probe, though these things can be done for you using pre-made assets.

    For water, the default water packages in Unity can work pretty well for most tasks.