« Posts under Unreal

[Unreal TA] Universal Studio Villian-Con

(http://www NULL.terrymatthes NULL.com/wp-content/uploads/2023/10/VillainCon NULL.jpg)

What started over a year ago as offsite development has turned into onsite integration at Universal Studios Orlando. While onsite I worked out of Universal’s offices. It was a nice change of pace to be working with a client in their Studio. There’s a lot to be gained creatively from that kind of environmental shift. A lot of the work for me on this ride was iterating over the look of the lighting and assets with the creative director every couple of days. I would fine tune the look of each of the ride’s scenes with the lighter and then move onto some of the more technical art implementations. There is wall full of disco lights in one of the scenes and I’m particularly proud of the technical implementation of it. I was able to use some really fun texture tricks to give a good looking wall with a really low resource footprint. I might make a post about the technique as not a lot of people use UVs to the level they should be and that is a shame.

Through the course of working with other teams I found we were running into a lot of problems relating to texture requirements. Non square textures, non power of two textures, improperly tagged properties ect. I ended up writing a Python script to run over all textures on the project and provide a list of offending textures along with their violations. This script also set the texture’s max in game resolution. Being half in film and half in games we get a lot of resources that are way too high resolution for games so it’s a good practice of ours to always limit that in Unreal automatically.

Everyone on the project was exceedingly nice and tried their best to get along and respect each other’s schedules. It’s not easy when you have so many vendor’s working together. It can feel like someone is stepping on your toes when they’re really just trying to avoid creating an issue for someone else. The amount I learned while on this project was definitely the highlight. I got to work with some amazing people who are doing and have done amazing things. It was also pretty cool to have the creative execs from Illumination come down and give us feedback on our work. You don’t get an opportunity like that very often and I’m grateful for it.

(http://www NULL.terrymatthes NULL.com/wp-content/uploads/2023/10/20230422_202021 NULL.png)

[Unreal TA] Clash of Clans Ads

 

Recently our studio Squeeze (https://www NULL.squeezestudio NULL.com/) was tasked with creating some user acquisition ads for Super Cell’s Clash of Clans. I was responsible for the technical art systems in Unreal. This included wind and material systems as well as R&D for the ray traced Lumen rendering. It was a ton of fun and with any luck we’ll be at it again soon! They even let me drone on about some of the benefits of real time vs deferred rendering in the video above. There is a wind system I created that hooks into the grass, plants and trees. The FX artist was able to key the wind strength to align to his explosions giving the shots a more cohesive feel.

Later on I took the system I had developed for these ads and then improved upon it by implementing pivot painting on the grass. Pivot painting properly anchors the blade of each grass card to the ground. A lot of the time with material based wind effects you’ll get a general ‘waviness’ when wind is applied to an object, but it rarely looks correct. There was a little bit of cloth simulation being used here, but we kept it to a minimum as it can be very hard to art direct.

[Game] UE4 Mesozoic Forest Update

I’ve completed a cycad as well as a test for ground cover. I’m aware that there was no grass in the Jurassic period, these grasses are just place holders for ferns cards. The real test was to see if dynamic raytraced lighting shadows the individual grass cards and they do. The video below is made with no baked lighting. It uses Light Propagation Volumes (https://docs NULL.unrealengine NULL.com/latest/INT/Engine/Rendering/LightingAndShadows/LightPropagationVolumes/) that can be enabled in UE4. If you’re interested in creating a similar scene with completely dynamic lighting I suggest you check out this book (https://www NULL.amazon NULL.ca/Unreal-Engine-Lighting-Rendering-Essentials/dp/1785289063) to get a better understanding of light in the Unreal Engine.

[Game] UE4 Speedtree Mesozoic Forest

Speedtree Fern

(http://www NULL.terrymatthes NULL.com/wp-content/uploads/2015/09/cycad NULL.jpg)

Work has been interesting lately as you may or may not know Mortal Kombat X has been canceled on last gen and I had been working on that for the last 7 months, so that was a bit of a blow. I’m on to a new project though and a publisher I’ve never worked with before so things are new and interesting in that respect. In my spare time I’ve been reading about and really loving the updates to the Unreal Engine for instanced foliage. I’ve taken it upon myself to follow in Koola’s footsteps and create some amazing forest work. If you haven’t seen his work check out his Youtube channel (https://www NULL.youtube NULL.com/user/koooolalala) or WIP thead (https://forums NULL.unrealengine NULL.com/showthread NULL.php?58385-Koola-s-stuff) over at the Epic Games forums. If you’re not aware there have been some big changes to instanced foliage and you can now use Dynamic GI to light them. Coupled with DFAO (https://docs NULL.unrealengine NULL.com/latest/INT/Engine/Rendering/LightingAndShadows/DistanceFieldAmbientOcclusion/index NULL.html) (Distance Field Ambient Occlusion) and Ray Traced Shadows (https://docs NULL.unrealengine NULL.com/latest/INT/Engine/Rendering/LightingAndShadows/RayTracedDistanceFieldShadowing/index NULL.html#settings) it means no more waiting for crazy long lighting bakes. All this realtime lighting does come at a cost though and the performance hit isn’t small. To keep up I’ve had to upgrade my system, but it’s been due for a while.

My current rig (Intel Q9550 @ 2.9Ghz with 8GB RAM, Nvidia 560Ti and 10K RMP HDD) is 7 years old. I’ve decided to follow Epic’s suggestions (https://answers NULL.unrealengine NULL.com/questions/21631/im-building-my-own-pc-for-ue4-development-what-do NULL.html) and upgrade to a i7 5820k (6 core 3.3Ghz) with 32GB RAM and 2 SSDs. The only difference is I chose to go for an Nvidia 960 instead of a 770. With the new Nvidia line (http://wccftech NULL.com/nvidia-pascal-gpu-gtc-2015/) boasting a 10x performance increase coming out next year, I’m going to hold off on a major video card upgrade until then. If you’re interested in trying out the new GI system head over here (https://docs NULL.unrealengine NULL.com/latest/INT/Engine/Rendering/LightingAndShadows/LightPropagationVolumes/index NULL.html) to learn about Light Propagation Volumes and how to enable them in the new engine, there’s some “.ini” tweaking involved.

To test this out I’m creating a small Mesozic forest and I’ve Pinned some reference (https://www NULL.pinterest NULL.com/terrymatthes/prehistoric-forests/) up for anyone who wants to follow along. The biggest difference between forests in the Mesozoic and now is the lack of grasses. Ferns largely took their place. As a species grass didn’t evolve until about 70 Million years ago, which means it missed most of the dinosaurs. Another big difference is the shear amount of Cycads (https://en NULL.wikipedia NULL.org/wiki/Cycad) and Ginko Bilobas (https://en NULL.wikipedia NULL.org/wiki/Ginkgo_biloba). As you can imagine it would be nice to put a dinosaur in this forest, but I’m trying to concentrate on the forest itself and I’m looking locally for someone to collaborate with on the dinosaur(s). I’ve started to create speed tree templates I can work from for the plants while I wait for my new system to arrive. I’m not worrying about LOD too much right now as some early tests showed it’s handled automatically quite well by the Unreal Engine and Speedtree. One thing that’s not though is the lightmap UVs. They are OK, but do need tweaking. Your material also makes a HUGE difference. If you’re expecting to plop plants into your level with a directional light they are not going to look super. You need to put some work into a good material that will properly shade your plants. Here are three of the plant templates I’ve came up with so far. A couple of these are based on speed tree models that were tweaked for performance. I’m going to follow Koola’s suggestions and keep the lowest LOD’s at or below 7K polys. For now I’m using the default Speedtree textures, but will create high resolution custom ones for the final output. The elevation data for this project is based on GIS data from The National Map Viewer (http://nationalmap NULL.gov/viewer NULL.html). When that becomes a bigger part of the  project I’ll expand upon how that’s being used.

Speedtree Fern (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2015/09/FernHigh NULL.jpg)Speedtree Small Pine (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2015/09/ConiferSmall NULL.jpg)Speetree Giant Conifer (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2015/09/CedarTall NULL.jpg)cycad (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2015/09/cycad NULL.jpg)

[Game] Unreal Engine 4 Architectural Rendering WIP 1

UE4 Architectural WIP 1

I took a look at the realistic rendering demo (https://www NULL.unrealengine NULL.com/blog/new-release-realistic-rendering-showcase) that Epic Games posted. It has fairly nice soft shadowing and pays close attention to how your eyes behave in light. I think the gap between pre-rendered and real time visuals is staring to get close enough that you could definitely use the Unreal 4 Engine for pre-visualizations and not have to visually take a gigantic hit. In fact you can probably produce more work at a faster pace using UE4. I’m building a small scene to create as realistic a render as I can using the new engine. No holds bared and no excuses. There’s going to be soft shadows, GI, ray traced light going through and off reflective and refractive surfaces plus caustic reflections! That is “literally all the things” when it comes to setting up great looking render. I’m going to be following the “PBR” rendering workflow so if you’ve never taken that challenge up this should be a good intro. There’s also a new PBR rendering contest going on now at Polycount (http://www NULL.polycount NULL.com/2014/06/14/petrolblood/). Here’s another great link to a Poly count forum thread (http://www NULL.polycount NULL.com/forum/showthread NULL.php?t=124683) that deals with PBR in games.

The shot you see here is a preliminary layout done in Maya with nearly all the rough models finished. The wall/ceiling moldings still have to be made. The next step is to take them into ZBrush. There I’m going to sculpt some more detail into some of the pieces and then use the retopology tools to lower the polygon count of each piece.
UE4 Architectural WIP 1 (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2014/06/restaurant NULL.jpg)

[Game] Unreal Tournament Blockout

As a lot of you may know Epic Games announced that they are working on a new Unreal Tournament title. They’ve been doing weekly updates through twitch to keep the development community involved. You can check them out here: http://www.twitch.tv/epicgames (http://www NULL.twitch NULL.tv/epicgames). Having been a big fan of the old Unreal titles I’ve decided to create a level to be released with the launch of the game. I signed up with Epic so I could download the new Unreal Engine and check it out. Wow is it great. I can’t believe how much the UDK evolved since its last release. It finally feels like a full-blown 3D app. Each week I’m going to post an update of the project through all it’s stages. First I have to finish blocking out the level. Then it’s onto simple meshes and lighting. I’m excited about this project because I think it’s a good chance to gain exposure in the development community.

The blockout is being done with the BSP volumes in the editor. They’re super fast and easy to work with. The “Geometry Mode” works the same as in the old UDK letting you edit the polygons that comprise the BSP volumes on the fly. I should mention that while the editor was stable most of the time it was very unstable while working in geometry mode. I crashed once for about every 3 edits I tried to make. In this particular stage my main concern is getting the spacing right between all the elements that will comprise the arena. I’m working with an early alpha so the only movement the player has is walking and dodging. While placing all the shapes around I’m trying to think of paths the player will take through the environment.
arenaBlock001 (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2014/05/arenaBlock001 NULL.jpg)
The flow of the map is the single most important factor so I don’t want to create any dead ends where the player feels cornered. There should always be at least one other path they can use to escape an engagement. After the general layout is in place I’ll start to adjust volumes along the Z-Axis (Y-Axis in Maya) a little more. The player moves largely on a Horizontal plane so creating platforms at different heights and depressions in large flat expanses can help break up the monotony of that very planar movement.

I’m super pumped and I think this is going to turn out great so stay tuned for updates :)

[Game] Snowy Turn Table Final

Freshly fallen snow on a grave

Another day and another piece done :) I had a great time putting together this snowy turn table and trying out all sorts of different methods in ZBrush for creating snowy surfaces. For some extra fun I even threw in some “Matinee” animations using Unreal’s animation system.

The snow covered assets in the scene use what is basically a layered material to map the snow, ice, and base materials over their surface. This is done through using the “Lerp” node in the material editor. If you’ve ever tried to create a layered material in Mental Ray you will appreciate what the lerp node does. Using an 8 bit (gray scale) map the Lerp node transitions values. Think of it like a mask. You can use a bunch of these Lerp nodes in a single material to create a layered shader. There are other ways of getting more than one material on an asset in the UDK though.

When exporting your assets as “FBX” files in Maya you can assign up to six (as of Unreal Engine 3.0) different materials per mesh. This is done through simply creating up to six different Lambert materials and applying them on a per face basis. This is a very convenient way to assign materials to your meshes, but it does have it’s downsides. Firstly, you are adding extra draw calls for each new material you assign your asset. This differs from using the Lerp node because with Lerp method all your different surface types are constructed within a single Unreal material and consequentially, a single draw call. Secondly, the borders of your materials must lye along the edges of their assigned faces. This can end up giving you abrupt transitions that won’t look as smooth as painting a mask for a Lerp node. Going forward I would like to expand on what I’ve done in Matinee and produce an animated character with some dynamically driven accessories.

Oh yeah, I almost forgot to mention that I’m moving to Montreal Canada. I’ll be heading out November 5th and my first stop will be their Independent Game Developers Association. I’m super excited to meet fellow developers and check out all the wonderful studios in Montreal.

 

 

[Game] Snowy Turn Table WIP 2

Freshly fallen snow on a grave

Here is an update on my snowy turn table I’ve been putting togeather. I’ve added some animated lighting and given most of the meshes another iteration of detailing and fixes. The next thing I have to do is finish the snowy bushes and make the ice on all the meshes more obvious. As a final touch I might at a sun and a moon togeather with the proper positioning of those respective lights. So have a look :)

[Game] Snowy Turn Table WIP 1

Freshly fallen snow on a grave

Hi guys and girls I just thought I would post a quick update on a collection of assets I’m creating for an upcoming iOS title. It’s a snowy scene and there are more meshes to come. I haven’t worked on cube map reflections yet, but I will soon. All meshes are built in Maya and ZBrush :)