I know folks have read my Unity game development projects, and I wanted to let you in on a few things. As many game devs know, there are programs that can create procedural world and objects like complete cities, bridges, and fences. The way I do mine is still a bit primitive. The only procedural asset I use is Gia Procedural Worlds, in which I create Terrains mostly. I also use the auto shaders, skybox, and terrain functions, as well as the 3rd person controller which I use to test colliders and mobility. Beyond that, everything is laid in piece by piece. Whether it be a Basic structure which is incomplete as far as details like doors, windows, lighting, and such. I still lay in fencing and railings one little rail at a time. Many structures were built from scratch, meaning the asset components were used to build a complete structure. On projects like the Tenge Castle/Temple/Shrine structures, they were all built from 1 sided components. The walls required an inside and outside structure, and it all had to match up, while using single panel components from the asset bundle.
While it would be faster, and probably more detailed, I chose not to use procedural or world-builder routines. There are many great add-ons for Unity for click and drag structure building. I lay everything in by hand and do the minor adjustments, scaling, detailing, and the close in work manually. I get much more satisfaction doing it piece by piece as I look at the overall progress of the project. I do this as a hobby, and usually when I am done with a project, it gets saved, and just floats around on my hard drive until I decide to revisit it. To the best of my knowledge, all of my projects are fully navigable.
If anyone has developed Unity Assets, and would like them incorporated into a scene for functionality and user input, let me know. I have found assets without colliders. Having a bridge with no collider is not very functional, and the end user will notice that immediately. Other assets send error messages to the console. Object Snapping during builds is also a key factor as to how well the structure lines up. On some projects, I have spent hours and hours trying to get a roof to finally get perfectly square and free of defects.
The most aggravating part of building large sets is the importing of the assets into the project. Many programs also rely on DLLs to function, and due to the variations of the libraries, things get overwritten, and others call out for procedures that I am not using, resulting in a non-playable scenes, since the Red errors need clearing manually, and I am not a coder. Other asset bundles install duplicate routines, throwing the engine into a frenzy trying to locate whatever routing from whichever random library call. At times, I have well over a dozen asset bundles loaded into one project, and they can easily conflict with one another.
It isn't uncommon to have a varied set of assets try to import their CrossPlatform library, which makes Unity throw out errors. Same with the audio listeners, CharacterControllers, shaders using the same name (something gets overwritten), and a variety of DLLs that don't like something from another asset package. So asset compatibility among developers is always something to consider. There are also assets that look good, but have no surface colliders. Placing a bridge that fits the scene is great, until you go into game mode and try to cross it, only to drop into the water. Sometimes it would just be easier to only import assets without any libraries, but many asset packages require shader libraries, and routines to use Atlas and texture bundles. I use one large asset bundle, in which I have to go into the shader properties and changes the Albedo to normal instead of metallic, and remove the shineiness. And every asset bundle probably has to go through a scaling process to insure the chair is not twice the height of the player.
No comments:
Post a Comment