It's been a while since my last dev blog. I've had my hands in a few cookie jars as of late, but I finally got started on my next project. I'm still working in Unity 3D 2019 build. So here we go with the next project. Starting from an empty scene, I start up the Gaia Procedural Worlds and generate the terrain. I'm not very good at creating terrains and splat mapping, so as a base, I create the terrain using Gaia. After stamping the terrain, I spawn the add-ons, which in this case is the terrain details. I use the spawners to create the terrain painting, and add the foliage. That's pretty much all I use it for. I do, however, create the player/skybox/effects so I can run through it in play mode for collision testing.
So here I now have a terrain to work with. I survey the landmass and decide where I will put the scene at. I usually find a location that has a nice panoramic view, as it adds to the game aesthetic. Usually, I find a spot on a mountain top as it offers the best views. During the creation process, I usually turn off the Fog property ( in the Lighting properties tab, usually found in the Window option) and check the culling so things don't turn invisible at distances.
Once I pick a spot, I level the area off using the Set Height option and do a bit of painting touch ups. At this point, I'm ready to start adding assets. So after an afternoon of bringing in the proper assets, and starting the basic structures, this is where I took the first screenshot.
At this point, it is wise to segregate your structures and builds. I place the specific assets into their own object group. On the menu bar is the GameObject tab. Left click on it and select Create New Object. It will appear as NewObject in your scenery hierarchy. You can double click the NewObject option and rename it to whatever you want. Let's call it 'Walls'. I selected all of the walls and pulled them onto the new object named Walls. Everything is now a child of that object, so when you click on the Walls object, it selects ALL of the perimeter walls. It cleans up your scenery hierarchy as well as making object location more efficient. I do this for many things such as Lighting, Building, Village, etc. They all get their own Object parent, and the relevant assets get placed in the proper object. If I make a new object called 'Temple', and I place everything I used to create the structure, when I click on the Temple object, the entire thing will be selected, basically just like an OBJ file. This makes it possible to move the entire Temple around without having to select everything down to the nails.
So at this point, I have the outer walls finished. It took a bit more work as the moving XYZ points were rarely aligned with the directions they needed to move, so half of the walls had to be zig-zagged into alignment. From here, I could start on the Base platform on which the Castle/Temple will be built. This consists of about 24 asset pieces. Once the exterior framework is done, the flooring ( about 52 tiles) could be added. After the flooring, the railing could be added. It took about 100 pieces from a Balcony asset, but it would match the entry ramp for the structure. So after a short while of seam matching and adjustments, this is where it is so far. You may notice the base is at two different locations. As mentioned above, the base is all grouped under the BaseObject parent, so clicking on the parent, everything is selected, and I can move it as one designated piece. The 2nd photo below is after it was moved a bit closer to the wall.
1/26/21: Didn't get very much done today, but I got a start on the Temple. I wanted to bring up a few things I do while putting in the assets. We already covered the GameObject and how it will help organize your main hierarchy, and I also wanted to mention the actual visual preference. I tend to edit the Shader property too. By clicking on the asset, on the right hand side a menu pops up under the Inspector tab. As you scroll down, you find the Shader group. It has an arrow to expand the category. Once in that, I change the Metallic Alpha over to Albedo Alpha. and move the slide bar to my liking. I try to give it a more natural look. The floors now look more naturally worn from traffic instead of being shiny. The walls now look as though they have a light varnish on them, but just enough to capture and reflect/refract light. I also captured a pic of how clicking on a GameObject parent selects all the assets.
On the top picture, I have the walls roughed in. The second pic is after adding in the half walls to set the height of the bottom floor. You can also see the semi gloss of the wall exteriors, and how the light plays on it. The third pic is the Temple GameObject selected and everything inside that object now being highlighted. At this point I can move the entire structure at once, or adjust scale or rotation. At this point, I am building the structures where they sit simply because of the XY axis. this way I don't have to try to fit everything together at an odd angle offset. I can complete the structure and select it all at once and move it accordingly. Also remember that you can also put separate GameObjects inside this gameobject, such as Lighting, or Floor1 as an example. Everything, including child objects inside the parent object will all be selected.
As you can see, I have very few objects in the main hierarchy. The Gia objects are just the terrain tools. I also imported a 3rd person character to 'play' the scene, along with a few post processing presets. Everything else is me piecing assets together from a rather large asset library. I will admit the gates were pre fab, but it did compliment the outer walls, and my focus was not building entry gates :)
But that's about it for today. I have other things planned this evening. I hope you liked the progress and the brief tutorial.
1/27/21: Today was 'let's get the roofing in and dimensionally correct. The hardest part of this project is using assets from 2 separate packages, and getting them to line in correctly. I always manage to get it squared in, since I am pretty meticulous about symmetry and alignment. The important start to this is making sure the first corner piece is placed in as accurately as you can guess. After doing 2 sides, you get a better idea on how it will square up. Once all four corners/sides are in, it takes some time to make sure they all have the same corner appearance, and that the seams/textures flow together. On this project, you will also notice the assets have a one sided visual, so the eves and gables were placed in first, and adjusted for squareness and fit. After that, the roofing had to be placed on top. This is another alignment operation. I try to use the XYZ coordinates to confirm it is lining up. I can get the X/Y coordinates from the Transform coordinates in the Inspector tab on the right, and adjust the height according to that. Instead of pulling in the same asset over and over again, I tend to duplicate it in place using the Ctrl-D, and use the axis arrows to move it into place. Most of the time they 'snap' together, but many times there is a small gap, so I zoom in and close the gap. You can also duplicate pieces for the next side merely by entering the next Rotation (0, 90, -90, 180, etc). After a bit of practice using the Transform numbers, you can get things lined up down the 4th decimal point.
Usually the first 3 corners will square in pretty well, and it's usually the 4th corner that tends to be slightly off. So it just takes time to tweak the other sides to get everything perfectly square. The trick on this one was to make sure the piping of the roofing was seamless all the way around while keeping the corners as close to centered as possible. The first pic below is just the gables placed, along with a visual on the Transform coordinates. The center pic is the beginning of the roofing process, and all the adjusting and squaring took place. And the third pic is the final layout of the initial roofing. It has to be aesthetically correct before I move on. I also went in to the roofing shader and changed the setting to Albedo Alpha and reduced the smoothness of it, so as to mimic realistic clay/paint finishing.
This is as far as I got today, as I had other things to take care of. My plans for this structure is a 2, possibly 3 roofed structure. That will be easy enough, which I will explain next time.
1/28/21: Today has been a time of tweaking and more tweaking. As the 2nd story was started, the fitting has been somewhat of a nightmare. From the pic above you can see the interior size of the roofing is smaller than the walls. This inside border is where I decided to begin the second story. As with many assets, they occasionally do not snap together properly, so zooming in on seams and adjusting to the correct fit is tedious work. While it is traditional to taper the roofing on Shrines and Temples, I try to stick with the architectural guidelines.
In this set of above pic, I highlighted the easiest process to set roofing on the 2nd story. Once the walls have been placed for supporting (and gable placement) I duplicated the roof/gable set from the corner and raised the duplicate to a height where I could set them in to place. Once the corner is 'guessed' into place, the work of putting in all the gable and roof around the structure. It goes in pretty easy at this point. The hard part is trying to get all the corner units to appear identical, without disrupting the flow of roof piping, while maintaining the exact XY coordinates to hide all the seams. The 2nd pic is the completion of the secondary roof. At this point, the roof top has to be put on.
This is the progress so far. You notice that the pitch has changed in the topping assets, so this also has to line up with the roof piping and be set precisely at the correct XYZ coordinates starting with the very first corner you start on. I have 3 corners set in and 2 roof top sides complete. The left side and the back side still have to be placed and aligned. It's much easier if you duplicate a piece of the roof asset and change the Y coordinates on it, as this guarantees the proper height, and that all the assets at this height will align flawlessly. The trick is in the XY movement, and getting them to visually go together. There is always a ton of micro-zooming and adjusting. Occasionally the mouse movement to the right position just won't 'snap' in, so you can change the numbers in the XY Transform section in the Inspector tab. Another trick is to click the asset right next to it, and you will see the numerical coordinates it uses, so changing the new asset Transform will bring it in perfectly.
This is what got done today. I'll fill in the other side and back of the roof top, and put the roof cap on. This will basically finish up the exterior
1/29/21: Last night I got a bit carried away and lost track of time. I ended up adding a new structure to the front roof. I got so pre-occupied working on it that I forgot to take screenshots, but here are a few views of the finished addition. It is mostly finding the correct pieces to assemble it right. There are about 50 separate pieces in the structure, and I think I succeeded in putting it together right. I also finished to roofing and cap details.
For now, the exterior is complete, with the exception of adding in lighting, necessary props, and such. I will take a short break and get started on the interior next. Stay tuned :)
1/30/21: Although I didn't spend much time doing this today, I have the interior finished off. Fortunately most of the walls I began with were double sided, saving vast amounts of time from stitching interior walls together. Often fitting one sided interior walls together inside a structure is tedious at best. There is much scaling, overlapping, micro zooming, and seam stitching to be done. In my many other Temple/Shrine builds, I have to make sure that my designs do not look like the others. If it is a different scene, it's a challenge to make it different than the other scenes. When multiple structures are on the same location, a symmetry can be used.
In the above 3 pics, I have placed 2 prefabricated gable assets. And while they are incomplete (center sections), the framework was put in to complete the fixture They both had to be scaled down on 2 separate axis to make it fit. Columns were also added, as I tend to consider architectural engineering to be an important factor, so it has a realistic appeal. Besides the ceiling work, the only other additions made at this point is lighting. There are 3 center section Point Lights for ambience. In addition, wall lighting was added in to create depth and ambience. The light reflections play on the surrounding textures to create a more vibrant environment, however slight it may be. At this point, to get a more accurate representation, you have to go in to either Camera Mode, or use the 3rd Person object in Play mode. In the usual scene mode, you get the lighting icons floating all over the scene, blocking off the asset visuals. There is probably a way to 'strealth' the lighting icons, but I prefer to see them so I can understand the individual properties of each light source. In the pics below, I have taken screenshots while in active Play mode. This way I can get a 'gaming' view of objects, as well as making sure collision barriers are active. In the 2nd pic below, you can see how the lanterns cast shadows on the walls from the wire pattern in the asset. I also tried to make sure those lantern shadows seemed to also connect to the next one, to create a visual flow.
These 7 pics are from various locations and perspective in 3rd Person WASD mode. From these perspectives, I can also look at lighting dynamics, shadow play, collider discrepancies, texturing dynamics, depth/culling views, and so on. If this were actually in a game, I would be able to see the playability and mobility of the character. I still have not added any foliage or terrain detail at this point. I'll cover how to do the entire terrain at once, without any random additions placed within the Temple walls.
1/31/21: OK, so I went to the gym today and I was thinking about the project here. I knew something was missing and I couldn't quite put my finger on it, until now. I wanted to put a walkway around the structure as well as a High Platform. My thinking was, since it is a Temple structure, the Spirits and Gods also need a place to go. So the walkway is for the Spirits, and the High Platform is for the Gods. This is why there is no ladder access to either of them. I added in the walkways and aligned them at the corners to insure aesthetics, and added in the straight pieces to match. I checked them using the camera modes from the 3rd Person controller perspective. I also took another shot of the interior so as to admire the lighting contrasts. I try to keep a visual symmetry, to enhance the 'player experience'.
2/8/22: It's been a while since my last update, but I'm back at it. Today was adding some lighting and on to spawning terrain details. As with other projects, I wanted to populate the island with trees, rocks, and grasses. But I didn't want any of them to spawn inside the castle walls. To prevent this, I use the same trick I've used on other projects. I create a 3D object. This time a sphere. After scaling, rotating, and moving the desired coverage area, I create a large collider around the area so that nothing will spawn there. At this point I can start spawning the rocks, then the trees, then to foliage. It happens in 3 procedures, and I don't have to worry about any of them spawning inside the walls. Below are the pics from the process. The egg collider is in place and the spawning begins. After the spawn events are done, I can simply delete the egg. As you can see, the view is nice and I didn't have to remove a bunch of stuff inside.
3/1/22: It's been a while since I worked on this one, but I did start laying in the pathways and adding housing. This is where I am so far. It was a bit of tinkering to get the pathways to line up with the gates, but I got it. I still have plenty of fencing and landscaping to do.
No comments:
Post a Comment