• Register

《Drifting》is a third-person shooter action game. The combat system revolves around air-to-ground, air-to-air shooting and traversing. Each encounter in the game challenges the player to develop a situational awareness in 3D space, which includes constantly prioritizing your target whilst observing the surroundings to find out the key to advance to the next stage.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Hello everyone!

In this week's update, I like to share the things I've learned using UE4 post-process ambient occlusion feature and how I set up my character material AO channel. I will start by describing the problem I encountered while tweaking post-process AO; the solution I came up with and its side effects; some comparison images under different post-process and material AO setups; finally, the result of my character shading.

My game relies heavily on post-process AO to generate detail shadow for all of the actors in the scene, the effect works well in most cases especially for static mesh, however, when it comes to skeletal mesh the outcome of the AO effect seems rough and somewhat ugly.

post-process AO bias value comparison
(the default AO bias setting generates too much noise around the chest area of the skeletal mesh, giving it an unpleasant look; after adjusting the bias parameter, noises are eliminated but so are the finer details)


There is a bias parameter in the post-process AO settings, which allows me to control the amount of AO on a flat surface. A bias value of 20 can eliminate the artifact at the cost of losing detail shadow on the mesh. I've then tried various setup combinations under a bias value of 3 and 20, but sadly, the result either looks dark and gritty or smooth and bland. To achieve a smooth and detailed outcome by tweaking post-process AO alone seems like an impossible challenge.

post-process AO bias parameter

(I've tried various combinations of AO intensity, radius, quality under a bias value of 3 and 20,
the results are either too dirty or too bland, striking a balance seems impossible
)


After some contemplation, I found out the problem with this approach is that without an AO map, the engine tries to calculate AO base on vertex information, which alone, cannot accurately represent the finer detail of the model. I then generated an AO map and plugged it into the material's AO channel, under a bias value of 20 the previously vanished details are back, however, due to the high value of bias, areas that are supposed to have a strong AO effect - because of its geometry structure - are now less visible.

AO map comparison

(with a bias value of 20, AO map bring back the detail of the character, however,
the areas around her spinal cord where AO should be most prominent is less visible
)


To bring back vertex information, I decided to fake it by calculating the dot product of the camera vector and vertex normal, multiply the dot value with the AO map and plugged the output to the AO channel. The idea is to let areas that aren't facing the camera directly to have a lower value, thus, stronger AO effect.

material AO stup
(the resulting AO will be most prominent on faces that aren't facing directly to the camera - usually at the edge or the sunken/contracting area of the geometry)


03 04 merge
(noticed with fake shadow, the AO around her spinal cord reappear under bias value 20; in addition, I've found out the fake shadow also vividly simulate the property of a stocking material around her thigh, which is a welcoming surprise :P)


Finally, here is an animated image to better showcase the final result of my character AO set up. With a high bias value combined with some manipulation of material AO channel, I think I've done a good job eliminating the artifacts from post-process AO whilst preserving the finer detail of the character model.

AO map plus fake shadow demo
(this is the result of my AO set up, noises are eliminated and details are preserved)


If you enjoy reading this article, feel free to leave a comment and share your thought on this subject!

Have a great weekend! :3

《Drifting》 The Making of Sniper

《Drifting》 The Making of Sniper

News

The sniper - a sly and cunning enemy that threatens the protagonist with her undodgeable snipe attack and anti-gravity movement. In the following paragraph...

《Drifting》 The Making of Tutorial Level (Part 2)

《Drifting》 The Making of Tutorial Level (Part 2)

News 2 comments

Today, I'm going to share with you not only the principles I applied to my tutorial level design but also the latest feedbacks I got from the playtest...

《Drifting》 The Making of Tutorial Level (Part 1)

《Drifting》 The Making of Tutorial Level (Part 1)

News 2 comments

As a newbie game designer, I guess I'm too eager to build an immersive, seamless tutorial experience, the tutorial examples I saw on youtube were taken...

《Drifting》 The Making of Tentacle

《Drifting》 The Making of Tentacle

News 6 comments

The idea of an organic tentacle poses an interesting challenge in terms of animating its behavior and simultaneously directing part of its body to a specified...

Comments  (0 - 10 of 25)
Ralidon
Ralidon

Wow! really impressive! Never saw any other game with such traversing movement.
There is a lot of potential here! If you play your cards right, you may have a hit, sir!

No much woman-friendly, though. way too much boob physics and trying to please visually (like anime games). Maybe offer a costume with less skin? Or toggle/adjust the boob physics a little?

Reply Good karma Bad karma+1 vote
rit2040 Creator
rit2040

Hi @Ralidon,

Thank you for your interest and suggestions!

Your idea to add a physics adjustment option is very thoughtful, I'll make sure the breast and hip physic sliders are added in my development schedule. It shouldn't be too hard to implement.

Additional outfit is a request I get a lot from players, sadly, adding additional outfit means extra time spent on rigging the outfit in third-party software, as a programmer, it is not very cost-effective for me to do the task. I'll see what I can do about it, if I decided to add a new outfit in the future, I'll make sure to let you know. :)

Thank you again for your attention and wonderful suggestions, feel free to comment anytime! I'm really happy to see people care about my project :D

I wish you a wonderful weekend!

Reply Good karma+1 vote
VGames
VGames

Make what you want. Don't cater to everybody. If they don't like it it's not for them. This is your art.

Reply Good karma Bad karma+3 votes
rit2040 Creator
rit2040

Hello VGames,

Thank you for offering your thought on this subject. :)

I think as long as the suggestion is not conflicting with the core gameplay experience that I wanted to provide to the audience, I am willing to take my time to consider it and (after evaluating its priority) add it to my working list.

Since the core idea of 《Drifting》 is to allow players to traverse the world using grapple hook, dashing and wall-running, those gymnastic-like movements IMO are best showcased with a skin-tight outfit which portrays her fluid animations and physical beauty better than a thick or less-revealing outfit.

That being said, in order for gamers to experience the core gameplay in their own taste, adding additional sliders to allow players to adjust the physical property of her breast and hip bone to their liking can broaden the potential audiences of the game without sacrificing the core idea of the gameplay - a suggestion I think is worth considering and should be added into the development schedule.

As for additional (less revealing) outfit, aside from the aforementioned reason; my main concern is the time spent on rigging could've been spent on adding new features to the game which IMO is probably a better tradeoff given my limited game development skill.

I'm glad that your comment reminds me why I chose the protagonist overall style in the first place XD, I hope you and other people who are interested in the game can understand my thought process for making this decision. :)

Wish you have a nice day!

Reply Good karma+1 vote
CreativeOven
CreativeOven

wow very interesting : D

Reply Good karma Bad karma+2 votes
rit2040 Creator
rit2040

Hi CreativeOven,

Thank you for your interest! :D

It's always nice to see a new face around here~

If you like to automatically receive updates in the future, you can check the "Game Watch" button on the top right corner of the game's profile.

Have a nice weekend!

Reply Good karma+2 votes
A-Silva
A-Silva

Heeeey ^___^
Your artist is here! :D

Reply Good karma Bad karma+2 votes
rit2040 Creator
rit2040

Hey!

I didn't know you have an IndieDB account!

It's very nice to have you here! ^.^y

I know you're a busy person, so feel free to stop by anytime at your leisure.

Wish you a relaxing weekend!

Reply Good karma+1 vote
A-Silva
A-Silva

Just as i said i've lost the link, but registreid immediately after i found it xD
Gonna watch your project growing ^^

Reply Good karma Bad karma+2 votes
rit2040 Creator
rit2040

Hello,

Thank you for your interest and support, the pleasure is all mine! :D

I usually update every weekend, so stay tuned for more updates in the future. :)

Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Icon
《Drifting》
Platforms
Windows
Creator
rit2040
Contact
Send Message
Release date
Game watch
Follow
Share
Style
Theme
Abstract
Players
Single Player
Project
Indie
Embed Buttons
Link to 《Drifting》 by selecting a button and using the embed code provided more...
《Drifting》
Statistics
Last Update
Watchers
69 members
Articles
10
You may also like
Grand Theft Auto V
Grand Theft Auto V Third Person Shooter
Fursan al-Aqsa
Fursan al-Aqsa Third Person Shooter
Abstraction
Abstraction Third Person Shooter
Redie
Redie Third Person Shooter
Zombusters
Zombusters Third Person Shooter
Star Champion
Star Champion Third Person Shooter