Hey everyone, long time no see! I know its been a while, and I haven't been posting as often as I said I would try. Its just really hard to make a post when I don't have too much to show. I've have been making lots of progress, but its all towards my tools, and showing you code would probably just bore you, and scare you away. Maybe it wouldn't though, leave a comment bellow if want to see some code. Just kidding, there is no where to comment. Anyways today I'm going to be telling you all about my tools, and why they are special. Be prepared for a really long post, I have a lot of info about what's coming, you might want to make some popcorn now, you've been warned. In an older post I mentioned I was going to be having a contest soon, I don't have any info today other then you might want to take notes cause you could win one of the extra prizes.
So if you have been following along, I have been working on a set of tools for quite a while now, and I'm finally ready to tell you what they are, and when they will be released. I'm also going to tell you what their features are, and I'll also tell you a little bit of what I had to do to make them all work. I actually have quite a few tools I'm going to be releasing as a pack, and probably a few individuals as well, they will cost some money, but I do have a couple free ones for you guys as well. I've also been working on an asset pack that is made to work with especially well with the tools, but it will be a while released later down the road. I wish I could release the assets at the same time, but I had to finish the tools first, so I knew exactly how what I needed to do to make them work properly with the tools. So anyways, onto the tools, and the first one I will be presenting is....
A Little Variation
So here is the tool that got me started on making the pack. If you look at the picture above, you can see that there is a bunch of variation added to these Lobby Chairs. I'd like to call it an Asset Variation Manager, but it does a lot more then just that. I am actually very confident that these tools along with the asset pack will be the most customizable pack out of anything on the asset store and probably for any game engine, please correct me if I'm wrong. All I know is that this will help you add, "A Little Variation." Hah...
Its main feature is that it will manage all your assets into some lists, and then all you do is place the Tool's GameObject into your scene, and you can pick through the lists of different types of assets. Once you pick an asset, you can pick which parts you want to spawn. So for example the asset in the picture above you can choose from a metal chair, a cushioned chair, a metal table, or a wooden table, and then of course you can change the arm rests as well. Certain parts can be set to be incompatible with another one, so if you try to enable it, depending on what was set it will either turn off the other part, or just not be enabled. It doesn't stop there though, I'm just getting started...
Now that you have picked your part, you can also choose a Part Variant, which can change anything from additional objects that are spawned or removed, it can change which texture the object uses, it can change how the object functions with events. Each variation can have Editor Events, and Runtime Events, so when the object is enabled it will call a method of your choice, and as well as when it is disabled. It also handles destructibility, so you will have variants for when its in its Normal, damaged, and destroyed state. All you will need to do is plop on a script to tell it when damage is taken.
It has a few more features, but my favourite one is the Material Modifiers. Material modifiers allow you to modify the shader, or substance properties right from the tool itself just for what ever objects/parts/variants you want. This may not seem very impressive, but it will automatically instance your materials, and will share them so every modification you make will share your newly instanced materials, reducing draw calls. One you add material mods to your Parts, you can swap through them for which ever variant you would like to use, just with the movement of a slider, or with the increase of a value at runtime. I really can't get too far into this, its really best shown in a video cause there is really just too much to go over, so before its release I will have some videos to show this all off in action, and eventually a tutorial series to go along with it. If anyone has worked with instanced materials, you will know that you can't save prefabs with instanced materials on them, all your assets will end up pink. To combat this, I added a custom Prefab Saver inside the tools, so you can add your modifications and bring them to other scenes and projects.
As you can see from the images, I've created these assets to be highly customizable, from objects, all the way to their textures. When you build assets like this, these tools will really shine. Although even if you don't theres lots of little things that can help you during scene population. Instead of texturing them just in Substance Painter, I've added even more customization in Substance Designer. Substance Designer is mostly used to make highly customizable environment textures, but when you use painter to create masks, and do the actual texturing in designer, you can bring that customizability to unwrapped assets as well. If you look at the chairs above, you can see that the left one has small holes, while the other has large, but that's not all you can do. You can change its shape, the amount, the amount of coverage on the chair. Sky is pretty much the limit, every asset you can add damage, rust, snow, wear on all the fabrics and wood, and if you have your own assets, I've created some substances where you can use your own textures to have all these main features. You can now use the same assets for a modern clean looking city, or you can modify them to look like they have been sitting there for years in a run down apocalyptic setting. Every substance will have global settings including Rust, Snow, Frost, Water/Wetness, Blood, Leather Damage, Fabric Damage, Wood Damage, and more. If you are working on mobile and can't afford to use substances, you can always make the modifications you want to the substance, and export the textures from the substance right inside of unity and use them as replacement materials. I also plan to make some UBER shaders for this tool, it will not be here on release but it is on the road map, because I know Substances aren't capable of achieving everything in real time. Its not guaranteed that it will be an all in one UBER shader, but I do plan to make the same properties as the current ones the substances have. I'm just not the best shader coder, but I did just get a book in the mail, so I will eventually make them.
Replacement materials are another feature, if you just have a different texture you want the object to use, all you need to do is select your replacement materials, and when the part is activated, it will replace your materials automatically. If you want to add material mods after that, that's no problem either.
We also added some handy buttons that will rotate your object with various different degree selections, plus a button to mirror your object if it isn't symmetrical. Also have one to level it with the ground beneath, or a to an object with a layer of your choice. I haven't added these next buttons yet, but it will be done by release. I plan to add snapping tools where you can create a snap point on the object, and with Auto Snap on, when its in range of another point your object will snap into position, this will be especially useful for things like train tracks and wall pieces.
The last feature I will mention is Substance Pre-sets. You can now select any substance attached to the object, and export as an XML, that will save all the properties of the substance, and you'll be able to import them onto another object, in any project or scene, just as long as it is using the same substance. For now you will only be able to do this in the tool, but by the time I release all the tools together I will have a separate tool just for this free for the lot of ya.
I almost forgot, the tool pack will be released on July 31st 2017 at midnight! I like to call it "A Little Tool Pack." It includes pretty much everything below, except for the asset pack.
A Little Group
So here is the next tool in the pack, it actually works right along side A Little Variation, which I will just call ALV for short. While ALV is very good at adding variation to single assets, ALG is good at adding and managingvariation to multiple objects at once in your scene. All you need to do is associate that object with your group, and then you are ready to roll. Also should note that you can use it with any regular game object, does not need to be an ALV object.
ALG's features are material mods, replacement materials, and substance pre-sets just like ALV, except it will apply them to every object in the group instead of just a part variant. A good example for this would be you have a bunch of objects outside, you add them all to a group, and then add a material modifier that adds snow, you change how much snow you want on the object and all of a sudden all your objects have snow on them. Not only that but it manages all the materials on your objects, and makes sure that everything using the same material will be shared, drastically reducing draw calls.
One thing it has that ALV does not though is what I call Global Material Mods. In each group, you can create sub-groups, they all share the same material mods as the rest of the group kind of, sub-groups will all have the same material mods, but you can set them to different values. You may be wondering why not just add them to a different group, so you can add different mods. Well this is because of the Global Mods, when a mod is set to global, the main group will have a list of these global values, it basically acts as a limiter/multiplier for the other values. You can set your snow, rust or what ever to the value you want for each subgroup, but if the global mod is set to 0 it will have no affect, and when its set to 1, it will be in full effect to the value set in the sub-group.
A Little Meshy
This is one of my free tools I'm going to be releasing, its just a basic mesh brush for painting assets onto objects or terrain. I do not have much to say about it because I actually haven't started to code it yet. But the features I know that will be included are things like random rotations, and random height position. I'm not sure how you will select the assets your going to paint, but you will most likely be able to make a list, then put a value for the chance it has to be spawned, then you can select which list you want to start painting and go from there. I'm open to suggestions, anything that will take a lot of time to implement I could definitely do, but then you should expect a paid version to go along with this free one. This will help your work flow from being "A Little Meshy." Next Tool...
A Little Quicky
Here is one that will be released for free as well, its going to be a quick menu for adding my tools or anything really to the scene, instead of at the top bar. You will be able to add your own options in easily as well, and in the main config file you will be able to choose which options you want on at the time. To see the menu I'm going to try to have it on a hotkey so you can just hold it, a little menu will pop up, you select your option and your done. If I can't figure out how to make a graphical menu popup in the scene view, I will just make a custom editor window instead. For the non coders I will include some prefabs that will automatically add an option to the menu, most likely will be ones that spawn an object, and ones that call methods. Again I am open to suggestions, with big ones may cause a paid version as well. If she won't give you "A Little Quicky," you can get one from me. ;)
A Little Preset
If you read the full details on A Little Variation, you would of seen that I mentioned a free asset that will be for making and importing substance presets. Well this is it. Of course you will be able to select materials from your Project View, but I'm also going to allow you to select instanced materials that are attached to objects. If your not a coder you probably don't think its that amazing, which I guess it isn't, you just have to do a few more things to be able to do that so now you know. This is basically already done, I just need to isolate it from ALV. All I ever wanted was "A Little Preset."
A Little Snappy
ALV will have a small version of this included, but I also plan to make a tool that handles snapping on its own. I don't have really any details for this one maybe other then being able to create snap points, change snap thresholds/radius, and probably a grid system or where you can align objects to the normals of a mesh or terrain. I don't know if this will be free or not, if it isn't it will definitely be pretty cheap like in the range of five bucks or less. Without this tool I could be "A Little Snappy."
And some Extas...
I not only have a bit of extra things that will be included with most of these, but I have a secret Tool that's still in planning stages. I can give you a small hint which is "Frostbite, Assassins Creed." That's all I can say about that for now, but if I can pull it off the way I'm envisioning it, it could revolutionize the way certain scenes are created.Ok, so about my extra little tools. If you have downloaded my "Many Material Shader" that I released quite some time ago, you will know the pain of having to remap channels to get the most out of the shader, such as putting the height map into the albedos alpha. Well I currently have some substances that do that for you, but I also plan to make a tool to make it a bit easier. If you have ever used "Mega Splat," currently the way you need lava textures to be are similar to that, so I plan to make tools to remap your channels or just substances that will help you make custom textures for not only Mega Splat, but other popular assets that require specialized textures as well. If you have any suggestions for assets or textures, I would love to hear it.I'm going to eventually be getting a login system for everyone so they can have their own account here, and I would say go to the forums that are currently not up to tell me your suggestions, but I haven't quite got around to it. It just didn't make sense before with not much traffic on here, but over the last few months I've noticed a steady rise so its something I am planning to get done very soon. I could add a comment box at the bottom here, but to be honest its pretty ugly so I want to get something else going. Getting input from you guys is very important to me, cause I'm not just making this stuff for me, I want everyone to be satisfied.
I will briefly tell you about my asset pack that I will be releasing sometime after all my tools are done. Its largely based on jail and office assets, but a lot of them could be used in any commercial/industrial environment. I'm going to be having a contest to win all these tools and the asset pack. If you want to enter the contest, I will be having it start on the day I release the asset pack, I'll have more details about it then.
The jail, or prison for the americans, is actually modeled after a real jail which is near where I live, and is almost exactly the same. I do plan on making two versions where one is the replicate, and the other has some added areas just to help with gameplay. So even though the jail is a huge premade building, I'm also going to have premade pieces so you can make your own jail completely from scratch. Every asset will have a huge amount of customization, and will be made to work with all my tools. You won't need my tools for it, but having them could definitely save you a lot of time, and help you get more customization while keeping draw calls down.
Some of the assets included will be things for Jails, Offices, but also things like warehouses, parking lots, change rooms, trees, bushes, things you would see in a doctors office, lobbies, libraries, elevator, cafeteria, kitchen, gyms and pretty much anything you'd see in a jail, plus even the properties next to the jail, which from google maps looks like a steel yard, and a train yard. I'll leave a picture, but I can't tell you what jail it is because that might be part of the contest.
When I first started working on Society, I realized that its going to take a really long time to make, especially since I am trying for AAA quality. I am totally looking forward too all this, but I also need to pay the bills in between now and release, so I'm actually going to be releasing all my game assets for sale. It really took me a long time to decide to do this, because I didn't want my babies to be in other games before I even get to release mine, so that's why I decided to make these tools and why I'm making the assets with an insane amount of customizability. So even though other people are using my assets, there is a good chance they will look totally different from my final product. Because I'm going for AAA quality, this is going to take twice as long, especially with my team size, by releasing all this stuff it will give me the time to produce my game without worrying about money. I'm one of those people who would rather work on something for 5 or 6 years, maybe more, to get something perfect, and that matches my vision, then quickly pump something out just to make a couple bucks. Although I have to admit there is also that smaller game that is being made along side of Society, so I guess I am kind of quickly pumping one out, but still not rushing it. They also share the same assets so its not getting in the way too much of the way. Sorry I kind of got side tracked, but its time to end this post with some pictures.