SlideShare a Scribd company logo
1 of 52
Download to read offline
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 1
By Matumit Sombunjaroen V1.0 2017/07/24
Historica Fantasia Dev Blog
Chapter8:
Prototype Units
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 2
Color Slot
Production
Procedure
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 3
Target
Highlight toward adjacent
Bright Color
Red, Green => Yellow
Blue , Green => Cyan
Blue, Red => MagentaBase Color
Shadow contain
Opposite Color
Red <=> Cyan
Blue <=> Yellow
Green <=> Magenta
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 4
Initial Setup
Make the Image 2000x
This will make it
more convenient to work on than 2048x
After the work is done,
we can Resize it down to 1024x
Split The Horizontal Grid to 20 Sections
**Unity have Automated Image Compression**
It is more convenient to work
on a large file then compress it down,
than to create a small texture and
have problem making it big later
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 5
Color Spectrum
Use the Gradient Tool and Spectrum preset
to create a Color Spectrum
Edit => Pixelate => Mosaic
and set Cell Size value to 100
This will divide the Cell to 20 Even Columns
Because Red is duplicated on the Right
We can delete it to make Monochrome Column
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 6
Base Color Shifting
Split vertical parts into 4 equal Sections
Create a Vertical Monochrome Gradient
on the top part, Mosaic it,
then duplicate like in the image
Color Dodge
Difference
Color Dodge shift the Highlight to the Base Color that we wanted
Gradually lower Opacity for top Colors
The Base Color is blended with opposite Color
Obsolete, Reference only
Process this in ShaderForge
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 7
Leveling
Multiply
Adjust the Opacity accordingly,
We Finally got the Color Chart that we wanted
However, Because we only need 5 Levels
We will extract only the Parts that we need
Screen
Original
De-saturated
Reserved for Metal Shader
To be Change accordingly
Reserved for
Faction Colors
In case anything else
are needed
Obsolete, Reference only
Process this in ShaderForge
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 8
Color Slot
Production
Take 2
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 9
Color Chart
After reviewing the Process,
Color Shifting was easier to be done in Shader Forge
So, we only use HardLight
to create the needed Base Spectrum
Metal Part is simply the part where
there will be Specular
The Latter Part is reserved
for anything that might came up
Original
Metal
Reserved
For anything else
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 10
Masking
Mask the Metal part
with White in Alpha Channel
Alpha Channel can be
extracted in Shader Forge
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 11
Faction Color
Red ( 0.025, 0.875 )
U = 0.025
V = 1 – ( 0.05*2 + 0.025 ) = 0.875
Blue ( 0.675, 0.875 )
U = 13*0.05 + 0.025 = 0.675
V = 1 – ( 0.05*2 + 0.025 ) = 0.875
Shift from Base to Metal
Add Vector2( 0, 0.25 )
5*0.05 = 0.25
0.0250.05
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 12
Prototype
Unit Models
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 13
LODs
The Model will be create for Medium Long Shot
Then, use Simplygon to make LODs
Medium Long Shot
~ 20 Models
~5000-10000 poly each
200000
Long Shot
~80 Models
~2000-5000 poly each
400000
Extreme Long Shot
<=200 Models
~500-2000 poly each
400000
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 14
Automatic LOD
Automatic LOD will be use for the time being,
If the Performance is not satisfactory,
We will try Simplygon instead.
Since We already have Fracturing & Destruction,
Upgrading to Mega Pack is more convenient
(+30USD)
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 15
**FBX EXPORT NOTES**
- Set all Materials to Lambert
- Use PNG
- Don’t Forget to Parent Items to right Bone
- iClone use Hand Down T-Pose by Default
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 16
Shielder
Main Poses:
Idle, Walk, Dead, Melee, Defense
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 17
Rifleman
Main Poses:
Idle, Walk, Dead, Melee, Fire
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 18
SpellLancer
Main Poses:
Idle, Walk, Dead, Melee, Bless
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 19
RuneCaster
Main Poses:
Idle, Walk, Dead, Melee, Casting
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 20
Side by Side Comparison
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 21
After thoughts
Large Shield is a real hassle
when Animating
Hard to do dynamic animation
Need to rethink overall design
Model need averagely
Long arms to hold Rifle
….Use Rockbuster-type
Hand Cannon instead
Need more Armor
Need to redesign Cap
Ref Swan’s Form
Rune Circles are
a pain to animate
+ They Blocked vision
Just take them out
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 22
Revamped
Shader Forge
Shader
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 23
Base Color
This will give the same effect as an unlit shader
Texture2D Node will produce the output needed
But If User wanted the Node to be expose in Editor, TextureAsset node is needed
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 24
Add Light Color
Blending LightColor node will add Light Color to base Color
However, because the base shading is unlit,
It creates instant color change when going near point light
Since we NEED point light to simulate fire, this is needed to be fix
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 25
Light Blending
Multiply with Light Attenuation will add blending……but
It also create Shadowing from Other Objects,
which is not what we wanted, since we need to do Toon Shadowing
But Receiving Shadow
is also Created
Color is gradually blended
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 26
Adjust Key-light Setting
For the time being, Shadow from Key-Light got soften down,
to allow toon step shading
Further experiment will determine whether we keep this method or not
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 27
Add Atmospheric Color
Blend Color with Linear Light to add more Color to overall model
While Adjusting Directional Light pretty much do the same Effect,
Directional Light is Global, while Shader is Local
This Allow for more Control, such as making Unit Brighter in the dark
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 28
Grouping Base Color Nodes
Use Set to Group Base Color to a Single Node,
then use Get to get Node Data
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 29
Toon shadow Step – Half Lambert
These Nodes will create Half-Lambert
Where the Key Value will be constant base on Lighting Direction,
And is independent of Intensity
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 30
Toon shadow Step – Step Value
Using Step(A<=B), The value for Shadow will be created
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 31
Toon shadow Step – Shadow Color
1st Add RGB Color to Shadow step will change Shadow’s overall color
2nd Texture=>OneMinus=>RGBToHSV=>HSVToRGB to extract opposite Hue
3rd Blend Opposite Color with Shadow Color via Linear Light to get final Shadow Color
4th Multiply this to Base Color to get Final Result
Switch Node is being use,
to test which one is more desirable
Base Shadow W/ Opposite
Color blend
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 32
Metallic – RimLight
1st Use Fresnel to get outer lying glow
2nd Get Dot Product of NormalDir*LightDir => Then OneMinus to inverse it
3rd Multiply everything to Get Final Kicker
Fresnel without
Inverse Dot
Fresnel with
Inverse Dot
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 33
Metallic – Gloss
I cant remember how it worked anymore,
Mainly, using Dot Product of HalfDir * NormalDir
and Multiply it with Dot Product of NormalDir*LightDir
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 34
Metallic – Add the Lights
Add all of the Lights together
Rim Light Specular Added Both
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 35
Metallic – Masking
Masking for Metal Part was added to Texture’s Alpha Channel
Multiply it to part that need Lighting to get final Glow
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 36
Blend up everything
With Highlight
+ Masking
Add Light Layer to Base Color
Without Highlight
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 37
After thoughts – No Metal Masking
Metallic Parts
don’t look good
in bright condition
Base Color should be Darker,
And they should use their own
Shadow steps for better highlight
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 38
After thoughts – Self Shadowing
….They just look hideous,
We will take out this
Outline is hard
to be seen in the dark
Add RimLight to Base Color as well
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 39
After thoughts – Opposite Color Shadow
Even just for a bit,
Colors seem more vibrant
In Final Production,
-Add more Shadow Steps
-Give Metal Part its own Steps
-Rim Light for Base Color
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 40
Faction Color
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 41
Mesh Types
Skinned Mesh must be access via
SkinnedMeshRenderer
While Static Mesh must be access via
MeshFilter
They don’t share Common Inheritance
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 42
Instantiate Meshes
**Really important**
**Just found out this Process Breaking Issue**
**DO NOT** work on sharedMesh
Otherwise, THE ORIGINAL DATA WILL BE ALTERED
Clone Meshes need to be made,
But more Memory will be used
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 43
Test – Duplicate Material Instead
I’ve tried testing Duplicate Material
instead of Duplicate Mesh
The Result –
No change in Memory Used
But SetPass is nearly doubled
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 44
However,
Regardless of increased Unit Types
SetPass calls remained almost a Constant
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 45
Comparison
Duplicate Materials (Constant of 2 Materials) –
- SetPass doubled, but remain almost a constant regardless of the Number of meshes
- Easier to Setup Model + Script
Duplicate Meshes (Increased per Unit Type) –
- SetPass Minimized
- Need Sub-meshes -> Harder to Setup Model
- Memory Usage doubled per Model type
Issues with SetPass increased is less significant than
possible Problems with Increased Memory Consumption
+ It’s just harder to setup
As such, We will change to using Duplicate Materials instead
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 46
Fixed Shader
Metal Mask was moved to a new Texture,
using Red Channel
Faction Color Mask is temporary for now,
using Green Channel
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 47
Faction Color Manager
Faction Color Manager
Will duplicate the base Material,
and create a new one per Faction Color
The Units will then reassign all Materials
based on their Factions
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 48
Automatic LOD
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 49
Automatic LOD
…….At the very least,
It’s not working well for the Meshes
May be it’s due to Color Slot Method
May be the models are too small
I don’t know why,
Any how, It’s not working
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 50
Mesh Simplify
…….And for some reason,
Mesh Simplify…worked
Even when they came
from the same Publisher
….But they don’t have LOD generated
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 51
Unity LOD Group
…Figured out how to use Unity’s LOD Group….
…..But I’m not going to use it
What happened is,
Unity treated each LOD as different Objects,
Meaning that,
Animation Controls must be
send to all Objects In order for them to sync properly
….It’s just way too much of a hassle
OR, we had to skinned each LOD mesh to the same bones,
inside XSI instead…. Which is also another hassle.
Figured how to work it out,
NEXT PAGE
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 52
Unity LOD Group
…Just Duplicate the Meshes INSIDE GameObject
The Meshes will retain Skinning Parameter
Then Add Mesh Simplify to each Meshes
Then, Drag each Mesh to LOD Groups
WALLAH!!! THEY WORKED NOW!!!
Note to Self:
Create Automated Editor for this Process
Figured how to work it out,
When about to quit for the day

More Related Content

What's hot

Historica Fantasia, Development Blog 01 Introduction
Historica Fantasia, Development Blog 01 IntroductionHistorica Fantasia, Development Blog 01 Introduction
Historica Fantasia, Development Blog 01 IntroductionMatumit Sombunjaroen
 
James Pierro Pitch
James Pierro PitchJames Pierro Pitch
James Pierro PitchJames Pierro
 
Joel antony beck portfolio
Joel antony beck   portfolioJoel antony beck   portfolio
Joel antony beck portfolioforehoof
 
Turn based tactical design fundamentals and a handful of tips - takeaway version
Turn based tactical design fundamentals and a handful of tips - takeaway versionTurn based tactical design fundamentals and a handful of tips - takeaway version
Turn based tactical design fundamentals and a handful of tips - takeaway versionKacper Szymczak
 
Designing balance (takeaway version)
Designing balance (takeaway version)Designing balance (takeaway version)
Designing balance (takeaway version)Kacper Szymczak
 
Prince of persia2
Prince of persia2Prince of persia2
Prince of persia2Sarah Bevan
 
Phantom Doctrine: a Design Post-Mortem
Phantom Doctrine: a Design Post-MortemPhantom Doctrine: a Design Post-Mortem
Phantom Doctrine: a Design Post-MortemKacper Szymczak
 
Gameloft: Recommandations for Starfront collision and Nova 2
Gameloft: Recommandations for Starfront collision and Nova 2Gameloft: Recommandations for Starfront collision and Nova 2
Gameloft: Recommandations for Starfront collision and Nova 2Khai Nguyen
 

What's hot (10)

Historica Fantasia, Development Blog 01 Introduction
Historica Fantasia, Development Blog 01 IntroductionHistorica Fantasia, Development Blog 01 Introduction
Historica Fantasia, Development Blog 01 Introduction
 
James Pierro Pitch
James Pierro PitchJames Pierro Pitch
James Pierro Pitch
 
Parsec pitch
Parsec pitchParsec pitch
Parsec pitch
 
Joel antony beck portfolio
Joel antony beck   portfolioJoel antony beck   portfolio
Joel antony beck portfolio
 
Turn based tactical design fundamentals and a handful of tips - takeaway version
Turn based tactical design fundamentals and a handful of tips - takeaway versionTurn based tactical design fundamentals and a handful of tips - takeaway version
Turn based tactical design fundamentals and a handful of tips - takeaway version
 
Designing balance (takeaway version)
Designing balance (takeaway version)Designing balance (takeaway version)
Designing balance (takeaway version)
 
Prince of persia2
Prince of persia2Prince of persia2
Prince of persia2
 
02 unity 3_d_part_1
02 unity 3_d_part_102 unity 3_d_part_1
02 unity 3_d_part_1
 
Phantom Doctrine: a Design Post-Mortem
Phantom Doctrine: a Design Post-MortemPhantom Doctrine: a Design Post-Mortem
Phantom Doctrine: a Design Post-Mortem
 
Gameloft: Recommandations for Starfront collision and Nova 2
Gameloft: Recommandations for Starfront collision and Nova 2Gameloft: Recommandations for Starfront collision and Nova 2
Gameloft: Recommandations for Starfront collision and Nova 2
 

More from Matumit Sombunjaroen

「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
「ティルズ・オブ・アライズ」のスキットは スキットの劣化である「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
「ティルズ・オブ・アライズ」のスキットは スキットの劣化であるMatumit Sombunjaroen
 
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319Matumit Sombunjaroen
 
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川Matumit Sombunjaroen
 
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶Matumit Sombunjaroen
 
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山Matumit Sombunjaroen
 
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่นสาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่นMatumit Sombunjaroen
 
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話Matumit Sombunjaroen
 
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่นเรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่นMatumit Sombunjaroen
 
Idol Master Platinum Stars アイマス プラチナスターズ Game Review
Idol Master Platinum Stars アイマス プラチナスターズ Game ReviewIdol Master Platinum Stars アイマス プラチナスターズ Game Review
Idol Master Platinum Stars アイマス プラチナスターズ Game ReviewMatumit Sombunjaroen
 
กระบวนการผลิตงานศิลปะ
กระบวนการผลิตงานศิลปะกระบวนการผลิตงานศิลปะ
กระบวนการผลิตงานศิลปะMatumit Sombunjaroen
 
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話Matumit Sombunjaroen
 
Reasons Thailand Education Suck like Hell
Reasons Thailand Education Suck like HellReasons Thailand Education Suck like Hell
Reasons Thailand Education Suck like HellMatumit Sombunjaroen
 
Reason to go or not to go to university
Reason to go or not to go to universityReason to go or not to go to university
Reason to go or not to go to universityMatumit Sombunjaroen
 
The Reasons why people who said [Video Games are bad] are either ignorance or...
The Reasons why people who said[Video Games are bad]are either ignorance or...The Reasons why people who said[Video Games are bad]are either ignorance or...
The Reasons why people who said [Video Games are bad] are either ignorance or...Matumit Sombunjaroen
 

More from Matumit Sombunjaroen (20)

「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
「ティルズ・オブ・アライズ」のスキットは スキットの劣化である「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
 
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
 
Historica fantasia 企画書
Historica fantasia 企画書Historica fantasia 企画書
Historica fantasia 企画書
 
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
 
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
 
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
 
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่นสาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
 
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
 
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่นเรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
 
Idol Master Platinum Stars アイマス プラチナスターズ Game Review
Idol Master Platinum Stars アイマス プラチナスターズ Game ReviewIdol Master Platinum Stars アイマス プラチナスターズ Game Review
Idol Master Platinum Stars アイマス プラチナスターズ Game Review
 
Ram is not RAM
Ram is not RAMRam is not RAM
Ram is not RAM
 
Game development process 1 GDD
Game development process 1 GDDGame development process 1 GDD
Game development process 1 GDD
 
กระบวนการผลิตงานศิลปะ
กระบวนการผลิตงานศิลปะกระบวนการผลิตงานศิลปะ
กระบวนการผลิตงานศิลปะ
 
Games workshop
Games workshopGames workshop
Games workshop
 
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
 
What is Generalization
What is GeneralizationWhat is Generalization
What is Generalization
 
What is Otaku
What is OtakuWhat is Otaku
What is Otaku
 
Reasons Thailand Education Suck like Hell
Reasons Thailand Education Suck like HellReasons Thailand Education Suck like Hell
Reasons Thailand Education Suck like Hell
 
Reason to go or not to go to university
Reason to go or not to go to universityReason to go or not to go to university
Reason to go or not to go to university
 
The Reasons why people who said [Video Games are bad] are either ignorance or...
The Reasons why people who said[Video Games are bad]are either ignorance or...The Reasons why people who said[Video Games are bad]are either ignorance or...
The Reasons why people who said [Video Games are bad] are either ignorance or...
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Historica Fantasia Devblog 8 Protype Units

  • 1. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 1 By Matumit Sombunjaroen V1.0 2017/07/24 Historica Fantasia Dev Blog Chapter8: Prototype Units
  • 2. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 2 Color Slot Production Procedure
  • 3. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 3 Target Highlight toward adjacent Bright Color Red, Green => Yellow Blue , Green => Cyan Blue, Red => MagentaBase Color Shadow contain Opposite Color Red <=> Cyan Blue <=> Yellow Green <=> Magenta
  • 4. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 4 Initial Setup Make the Image 2000x This will make it more convenient to work on than 2048x After the work is done, we can Resize it down to 1024x Split The Horizontal Grid to 20 Sections **Unity have Automated Image Compression** It is more convenient to work on a large file then compress it down, than to create a small texture and have problem making it big later
  • 5. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 5 Color Spectrum Use the Gradient Tool and Spectrum preset to create a Color Spectrum Edit => Pixelate => Mosaic and set Cell Size value to 100 This will divide the Cell to 20 Even Columns Because Red is duplicated on the Right We can delete it to make Monochrome Column
  • 6. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 6 Base Color Shifting Split vertical parts into 4 equal Sections Create a Vertical Monochrome Gradient on the top part, Mosaic it, then duplicate like in the image Color Dodge Difference Color Dodge shift the Highlight to the Base Color that we wanted Gradually lower Opacity for top Colors The Base Color is blended with opposite Color Obsolete, Reference only Process this in ShaderForge
  • 7. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 7 Leveling Multiply Adjust the Opacity accordingly, We Finally got the Color Chart that we wanted However, Because we only need 5 Levels We will extract only the Parts that we need Screen Original De-saturated Reserved for Metal Shader To be Change accordingly Reserved for Faction Colors In case anything else are needed Obsolete, Reference only Process this in ShaderForge
  • 8. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 8 Color Slot Production Take 2
  • 9. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 9 Color Chart After reviewing the Process, Color Shifting was easier to be done in Shader Forge So, we only use HardLight to create the needed Base Spectrum Metal Part is simply the part where there will be Specular The Latter Part is reserved for anything that might came up Original Metal Reserved For anything else
  • 10. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 10 Masking Mask the Metal part with White in Alpha Channel Alpha Channel can be extracted in Shader Forge
  • 11. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 11 Faction Color Red ( 0.025, 0.875 ) U = 0.025 V = 1 – ( 0.05*2 + 0.025 ) = 0.875 Blue ( 0.675, 0.875 ) U = 13*0.05 + 0.025 = 0.675 V = 1 – ( 0.05*2 + 0.025 ) = 0.875 Shift from Base to Metal Add Vector2( 0, 0.25 ) 5*0.05 = 0.25 0.0250.05
  • 12. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 12 Prototype Unit Models
  • 13. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 13 LODs The Model will be create for Medium Long Shot Then, use Simplygon to make LODs Medium Long Shot ~ 20 Models ~5000-10000 poly each 200000 Long Shot ~80 Models ~2000-5000 poly each 400000 Extreme Long Shot <=200 Models ~500-2000 poly each 400000
  • 14. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 14 Automatic LOD Automatic LOD will be use for the time being, If the Performance is not satisfactory, We will try Simplygon instead. Since We already have Fracturing & Destruction, Upgrading to Mega Pack is more convenient (+30USD)
  • 15. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 15 **FBX EXPORT NOTES** - Set all Materials to Lambert - Use PNG - Don’t Forget to Parent Items to right Bone - iClone use Hand Down T-Pose by Default
  • 16. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 16 Shielder Main Poses: Idle, Walk, Dead, Melee, Defense
  • 17. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 17 Rifleman Main Poses: Idle, Walk, Dead, Melee, Fire
  • 18. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 18 SpellLancer Main Poses: Idle, Walk, Dead, Melee, Bless
  • 19. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 19 RuneCaster Main Poses: Idle, Walk, Dead, Melee, Casting
  • 20. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 20 Side by Side Comparison
  • 21. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 21 After thoughts Large Shield is a real hassle when Animating Hard to do dynamic animation Need to rethink overall design Model need averagely Long arms to hold Rifle ….Use Rockbuster-type Hand Cannon instead Need more Armor Need to redesign Cap Ref Swan’s Form Rune Circles are a pain to animate + They Blocked vision Just take them out
  • 22. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 22 Revamped Shader Forge Shader
  • 23. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 23 Base Color This will give the same effect as an unlit shader Texture2D Node will produce the output needed But If User wanted the Node to be expose in Editor, TextureAsset node is needed
  • 24. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 24 Add Light Color Blending LightColor node will add Light Color to base Color However, because the base shading is unlit, It creates instant color change when going near point light Since we NEED point light to simulate fire, this is needed to be fix
  • 25. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 25 Light Blending Multiply with Light Attenuation will add blending……but It also create Shadowing from Other Objects, which is not what we wanted, since we need to do Toon Shadowing But Receiving Shadow is also Created Color is gradually blended
  • 26. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 26 Adjust Key-light Setting For the time being, Shadow from Key-Light got soften down, to allow toon step shading Further experiment will determine whether we keep this method or not
  • 27. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 27 Add Atmospheric Color Blend Color with Linear Light to add more Color to overall model While Adjusting Directional Light pretty much do the same Effect, Directional Light is Global, while Shader is Local This Allow for more Control, such as making Unit Brighter in the dark
  • 28. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 28 Grouping Base Color Nodes Use Set to Group Base Color to a Single Node, then use Get to get Node Data
  • 29. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 29 Toon shadow Step – Half Lambert These Nodes will create Half-Lambert Where the Key Value will be constant base on Lighting Direction, And is independent of Intensity
  • 30. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 30 Toon shadow Step – Step Value Using Step(A<=B), The value for Shadow will be created
  • 31. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 31 Toon shadow Step – Shadow Color 1st Add RGB Color to Shadow step will change Shadow’s overall color 2nd Texture=>OneMinus=>RGBToHSV=>HSVToRGB to extract opposite Hue 3rd Blend Opposite Color with Shadow Color via Linear Light to get final Shadow Color 4th Multiply this to Base Color to get Final Result Switch Node is being use, to test which one is more desirable Base Shadow W/ Opposite Color blend
  • 32. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 32 Metallic – RimLight 1st Use Fresnel to get outer lying glow 2nd Get Dot Product of NormalDir*LightDir => Then OneMinus to inverse it 3rd Multiply everything to Get Final Kicker Fresnel without Inverse Dot Fresnel with Inverse Dot
  • 33. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 33 Metallic – Gloss I cant remember how it worked anymore, Mainly, using Dot Product of HalfDir * NormalDir and Multiply it with Dot Product of NormalDir*LightDir
  • 34. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 34 Metallic – Add the Lights Add all of the Lights together Rim Light Specular Added Both
  • 35. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 35 Metallic – Masking Masking for Metal Part was added to Texture’s Alpha Channel Multiply it to part that need Lighting to get final Glow
  • 36. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 36 Blend up everything With Highlight + Masking Add Light Layer to Base Color Without Highlight
  • 37. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 37 After thoughts – No Metal Masking Metallic Parts don’t look good in bright condition Base Color should be Darker, And they should use their own Shadow steps for better highlight
  • 38. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 38 After thoughts – Self Shadowing ….They just look hideous, We will take out this Outline is hard to be seen in the dark Add RimLight to Base Color as well
  • 39. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 39 After thoughts – Opposite Color Shadow Even just for a bit, Colors seem more vibrant In Final Production, -Add more Shadow Steps -Give Metal Part its own Steps -Rim Light for Base Color
  • 40. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 40 Faction Color
  • 41. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 41 Mesh Types Skinned Mesh must be access via SkinnedMeshRenderer While Static Mesh must be access via MeshFilter They don’t share Common Inheritance
  • 42. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 42 Instantiate Meshes **Really important** **Just found out this Process Breaking Issue** **DO NOT** work on sharedMesh Otherwise, THE ORIGINAL DATA WILL BE ALTERED Clone Meshes need to be made, But more Memory will be used
  • 43. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 43 Test – Duplicate Material Instead I’ve tried testing Duplicate Material instead of Duplicate Mesh The Result – No change in Memory Used But SetPass is nearly doubled
  • 44. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 44 However, Regardless of increased Unit Types SetPass calls remained almost a Constant
  • 45. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 45 Comparison Duplicate Materials (Constant of 2 Materials) – - SetPass doubled, but remain almost a constant regardless of the Number of meshes - Easier to Setup Model + Script Duplicate Meshes (Increased per Unit Type) – - SetPass Minimized - Need Sub-meshes -> Harder to Setup Model - Memory Usage doubled per Model type Issues with SetPass increased is less significant than possible Problems with Increased Memory Consumption + It’s just harder to setup As such, We will change to using Duplicate Materials instead
  • 46. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 46 Fixed Shader Metal Mask was moved to a new Texture, using Red Channel Faction Color Mask is temporary for now, using Green Channel
  • 47. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 47 Faction Color Manager Faction Color Manager Will duplicate the base Material, and create a new one per Faction Color The Units will then reassign all Materials based on their Factions
  • 48. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 48 Automatic LOD
  • 49. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 49 Automatic LOD …….At the very least, It’s not working well for the Meshes May be it’s due to Color Slot Method May be the models are too small I don’t know why, Any how, It’s not working
  • 50. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 50 Mesh Simplify …….And for some reason, Mesh Simplify…worked Even when they came from the same Publisher ….But they don’t have LOD generated
  • 51. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 51 Unity LOD Group …Figured out how to use Unity’s LOD Group…. …..But I’m not going to use it What happened is, Unity treated each LOD as different Objects, Meaning that, Animation Controls must be send to all Objects In order for them to sync properly ….It’s just way too much of a hassle OR, we had to skinned each LOD mesh to the same bones, inside XSI instead…. Which is also another hassle. Figured how to work it out, NEXT PAGE
  • 52. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 52 Unity LOD Group …Just Duplicate the Meshes INSIDE GameObject The Meshes will retain Skinning Parameter Then Add Mesh Simplify to each Meshes Then, Drag each Mesh to LOD Groups WALLAH!!! THEY WORKED NOW!!! Note to Self: Create Automated Editor for this Process Figured how to work it out, When about to quit for the day