Diaries - Venn Diagram (+ Project Synthetic Update) (Patreon)
Content
Hi guys!
In this diary, I'm going to talk about 2D Visual Effects and things that I've recently learned on my own. In addition, there will be an update towards Project Synthetic that I've been working on since September by the end of this diary.
There are times where the simplest question has the most complicated answers. The question that I've brought up was "How do I make a Venn Diagram on Blender?" What I'm trying to achieve is that, assuming if there are two 3D objects that are overlapping one another. How could we highlight the parts that are overlapped in front of the camera?
It is easy to say that I should have spent some time looking for answers in Google, especially since it is such a trivial concept that it should have the solutions already. However, i'm pretty surprised to see nobody has ever done this before, or even posting the solutions on the internet. I spent two weeks looking for any existing solution, but none of the "solutions" are suitable for my needs.
The first solution is by using Cryptomatte. The way it works is that it takes the color code of the rendered image and changed it like a separate layer. Cryptomatte also referred to as "The Greenscreen" since it pretty much behaves how green screen works. However, if there is another object that has the same color, but it did not intersect with the other objects, the color of the object would have changed as well.
It can be mitigated by assigning the object with a Cryptomatte index, but instead of changing the color of the parts that is overlapped, it merely crops it out. I was extremely frustrated until I figured out that if a layer gets added to another layer, it would just add the values up. I was like "YES! THAT'S IT! 1 + 1 = 2!" We could use math to solve this out!
How does this work?
In order to make it work, there needs to be 2 separate render layers into the compositing phase (or images).
1. Take the alpha of both of these render layers, and put it into the "Math" node. Alpha has the minimum value of 0 (invisible) and the maximum value of 1 (visible)
2. Change the math node into "add";. By doing this, the overlapped parts would have the value of 2 (visible + visible equals 2)
3. Create more Math node, set it to "Greater Than"
4. Set the value as 1. For every pixel that has the value of 2, it gets filtered out.
5. Create a colorramp node. Connect it to the "greater than" math node. Change the color of the overlapping area using it
6. Put the results on top of the original image by using "Alpha Over"
7. Connect it to the shader.... and Done~
Alright, we finally done it... But when are we going to use it?
...Well check these out~
That's summarizes my research on the venn diagram. Now, let's get to our next topic
Project Synthetic - Unreal Engine Port Update
It might come out as a surprise, but Project Synthetic is still in development. We managed to make it close to the original Unity version. However, there are lots of technicalities that are just different. Me and my friend would spend most of our time learning the way how Unreal Engine works. Like how the players spawns only when you play the game, instead of setting it up in the editor mode, how you need to make a UI blueprint to make a UI, and slap it into the viewport, instead of creating UI Game Object. Animations are also different. Instead of using Animator, we need to configure it directly within the object graph itself. Consequently, I need to make a lot of redundant animations. There must be a way somewhere to fix this.
Battle
Accountability - Miraigata Arts
The battle system is going to be turned-based. Units will move according to the designated grids. These are the current feature of the battle system. (A* Algorithm)
Player can move within grids
Player can see which grids they can move, alongside reducing their action points when they move
player can attack other units, reducing their target health and their own action points
Units have their own turns
Non controllable units can assume turns
Player can set their attack stance: Sacrificing their action points for more accuracy
All units can end their turn
Units can equip inventory items on their designated slots (for more information, check the unity version)
Diverse inventory equipment successfully utilized to attack the enemy
Scrapped Concepts
Terrain-based movement cost system - CPU and memory overload during calculation, took me 2 months to create it
Datasets
Accountability - "Alpha"
Inventory data table using built-in Unreal Engine Data Table completed
Quest data table using built-in Unreal Engine Data Table completed
Journal data table using built-in Unreal Engine Data Table completed
Development data table using built-in Unreal Engine Data Table completed
Journal data table using built-in Unreal Engine Data Table completed
Player Inventory data table using built-in Unreal Engine Data Table completed
Relations data table using built-in Unreal Engine Data Table completed
Party data table using built-in Unreal Engine Data Table completed
World
Accountability - "Alpha"
Integrating Journal Menu with the quest data table
Integrating Development Menu with the development data table
Integrating Inventory Menu with the inventory data table
Integrating Inventory Menu with the inventory data table
Integrating Relations Menu with the relations data table
Integrating Party Menu with the Party data table
Main Menu
Accountability - Miraigata Arts
Main menu Background and UI Setup completed
Main menu content 75% completed
Main menu animation 75% completed
That's all of the update of Project Synthetic. It's still pretty raw, and hardly have anything to show for. I will give another update in 6 months. Stay tuned!
Files
Previews only