43
SUBSTANCE GENERAL WORKFLOW .NETEASE PANGU GAMESTUDIO TECHNICAL ART DIRECTOR | LEE.JUNGPYO [email protected]

Substanceshanghaippt repacked

Embed Size (px)

Citation preview

SUBSTANCE GENERAL WORKFLOW

.NETEASE PANGU GAMESTUDIO

TECHNICAL ART DIRECTOR | [email protected]

WHO I AMTECHNICAL ART DIRECTOR AT NETEASE PANGU GAME STUDIO

(PRESENT).

LEAD TECHNICAL ARTIST / EVANGELIST AT ALLEGORITHMIC.

TECHNICAL ART DIRECTOR AT PLAYNERY.

PRODUCER / TECHNICAL DIRECTOR AT DEVCLEN (NVIDIA PARTNER)

AND I STILL NOW WORKING FOR GAME INDUSTRY DURING 19 YEARS…

INTERESTING.

RENDERING WITH SHADER IMPROVEMENTS

APPROACHING OF PROCEDURAL MODELING.

CODE OPTIMIZING

CONTENTSPRESENTATION SUMMARY

BRIEF OF PBR

BUILD UP TEMPLATE OF COLOR MASK

MATCHING PBR LOOKDEV

PRESENTATION SUMMARY

InspirationsNot an A to Z

Speech of today It is not a mentioned about How to made by A to Z.

How to apply work process through simplified idea those it looking around to possibility.

You guys could be know about How to become efficiently glowing up your workflow through In this session.

BRIEF OF PBR

Looking for this images. I guess you guys too much time to this images right? What do you have thinking from…?

BRIEF OF PBR

UNIFIED.SIMPLIFICATIO

N

“General idea approaching”

BUILD UP COLOR MASK

This is color mask RGB right?

Yes.

But We could not using it!

Any idea?

Color to Gray as color algebra.

BUILD UP COLOR MASKIdea from color wheel.

BUILD UP COLOR MASK

Value of ‘0.0’ to ‘1.0’ that use to expression for micro facet also Metallic too.

General idea approaching.

We need just phase of 1 to 10 that enough I trust.

BUILD UP COLOR MASK

exceptional substance as ceramic but…

Wrong of Molecular Structure Binding Properties.

Glass + Metal= Exactly it become other substance

Recommend using Layer shader.

BUILD UP COLOR MASKConformity check of pbr micro facet surface.

BUILD UP COLOR MASKMake custom function with Mask-Gen.

BUILD UP COLOR MASK

Evaluation of the material result.

Designer Painter

BUILD UP COLOR MASKWe had correctly result of pbr micro facet values.

BUILD UP COLOR MASK This images explained about more

extension of PBR as substance phase. Looking for just phase of 0 to 1.

BUILD UP COLOR MASKSimple review of example

This example is just about automatic setup for basement of pbr roughness value in substance designer.

Applied using vertex color from 3dsmax via color mask table and bake using Color Map from Mesh for Color Mask.

This imagery of copyright by Netease.Pangu game studio. Artist by Sengmin.Kim

BUILD UP COLOR MASK

Basic function approach of test those it fine of result. It is very simple approach from idea those it could be turn up for more functional.

Simple review of example

This imagery of copyright by Netease.Pangu game studio. Artist by Sengmin.Kim

BUILD UP COLOR MASKMaterial setup via your color mask.

We can extending this filter for your workflow.

BUILD UP COLOR MASKBasic structure of substance designer side.

Color mask Gen

ID Color InputFrom Mask table

Original material Colour

Roughness/Metallic

Weight float value multiplier as function

Weight float multiplier limitation : ±0.025

For example if currently roughness value is 0.2 When you could be according to adjustment about from Positive 0.025 to negative 0.025.

Extend structure of substance painter side.

Base pbr setting done

One fill layerCustom color mask filter

Final your color adjust colour

Wearing and scratching

Final adjust R/M value

Mask gen with add fill

Add paint for painting layerIf those painted.

BUILD UP COLOR MASKBasic structure of substance designer side.

Attribute export Turn off the color management

Adding to your custom filter path into your substance designer.

BUILD UP COLOR MASKBasic structure of substance designer side.

General automatic conversions of result ID Source Roughness Metallic

BUILD UP COLOR MASKBasic structure of substance designer side.

Adding to your custom filter lists. I am using to Tags and Author as jp.lee.

BUILD UP COLOR MASKColor ID 2 Material full node view.

Adding to your custom filter lists. I am using to Tags and Author as jp.lee.

[Opacity : Bool]

Layer Blending Customizing.

Expose to colour presets from base materials.

[Material Preset]

BUILD UP COLOR MASKExposed custom function tips.

input["bool_matPaint_08"]

[Bool value]

[Condition input]

If you want to change such visible and invisible When you guys using custom state of option you could do use this.

true

false

Blend mode = Switch

BUILD UP COLOR MASKFocus. Don’t forget make simplification as properties of material for your workflow. Removal of unnecessary materials properties. Normalized work processes are most important. Approximated value is no problem.

Conductive and Nonconductive. Surface reflectance from micro facet. Layered color painting on the surface. Understanding about condition of surface scratching.

Essential considering stuff.

You must decision of basic IBL for standardization as PBR surface colour. Day time of 12:00 PM ~ 2:00 PM from outdoor. Studio lighting as black and white luminance environment.

Consider about affect of IBL to surface colour.

Same materialDifferent look dev.

BUILD UP COLOR MASKAdditional adjust your options. All team make sure When working for same project that use to default IBL source because IBL source have important light source with

affect to surface colour for your all pbr material and I say again pbr surface colour correction is most important.

BUILD UP COLOR MASK

Substance most filter those necessary AO mask or Curvature map indeed. Why… It most related about corner such as inner or outer.

Understanding Why We need AO map and Curvature map for filter works.

Inner corner area those not affect from some scratchable objects. We can use to AO map that good of choice as dark area.

Outer corner area those too much exposed about affect from some scratchable objects.

We can use to Curvature map that is good of choice as White area for the damage.

Scratch? Curvature?

MATCHING PBR LOOK.DEP

MATCHING PBR

LOOK.DEV We would be apply to unity3D with standard pbr shader(metallic/roughness) used by exported textures from substance

painter. In some case just looking around about several options of export textures presets those it How to customizing. Some doing work for calibration about such as substance painter and unity3D scene environments for result compare.

SPECULAR REFLECTION IMPORTANT NUMBER OFSAMPLES FOR RADIANCE

MATCHING PBR LOOK.DEV

Look around about Substance painter rendering quality. Specular reflection with importance sample. Float ndv = dot(vectors.eye, vertors.normal); vec3 Ln = -reflect(vertors.eye, Hn); //Light vector using viewer’s eye directions.

MATCHING PBR LOOK.DEVIrradiance VS Spherical Harmonics.

MATCHING PBR LOOK.DEV

Case of Mixed AO : If you guys modifying to AO map from information texture via layer You should use Mixed AO by converted maps. Case of Glossiness : Roughness of substance painter convert to unity3D smoothness , Which those invert grayscale. Float ndv = dot(vectors.eye, vertors.normal); vec3 Ln = -reflect(vertors.eye, Hn); //Light vector using viewer’s eye directions.

MATCHING PBR LOOK.DEV Standard scene setup as similar to substance painter. Same environment need as IBL cube map. In this case We use to basic IBL cube map as panoram.hdr ( path : Resources/shelf/allegorithmic/environment/Exterior

Copy into your directory of game engine as project. Same environment need as IBL cube map. In this case We use to basic IBL cube map as panoram.hdr ( path :

Resources/shelf/allegorithmic/environment/Exterior

MATCHING PBR LOOK.DEV

Some different of stuff : Unity3D have affective directional light So You should check to IBL light source direction with adjust to your directional light as similarly match of direction.

Little different of IBL rendering method but result have an approximately.

MATCHING PBR LOOK.DEV Unity HDRI Pack

Removed sun light in IBL source supported. Unity3D those very good experimental lookdev tool provide you.

Using unity3D 5.6 LOOK DEV

MATCHING PBR LOOK.DEV Same IBL with same exposure value. Back and Front lighting compare with single IBL.

Using unity3D 5.6 LOOK DEV Different IBL with same exposure value. Different IBL with Different exposure value.

MATCHING PBR LOOK.DEV Unity HDRI Pack

White point balanced lookdev IBL from Unity3D. Copy to your substance painter resources directory or preset directory it very useful for your pbr match works indeed.

Using unity3D 5.6 LOOK DEV

OSX : documents/substance painter 2/shelf/environments

MATCHING PBR LOOK.DEV

Custom tweak of art result

We would be apply to unity3D with standard pbr shader(metallic/roughness) used by exported textures from substance painter.

In some case just looking around about several options of export textures presets those it How to customizing. Some doing work for calibration about such as substance painter and unity3D scene environments for result compare.

TWEAKING

Generally pbr shading on mobile devices does not enough evident expression of shading. Using Baked Lighting it very useful for evident shading on mobile but that is not essential.

Bake Lighting filter for mobile game workflow.

TWEAKING

Press to C key You guys could be see to baked shading from Base Color. Substance Painter currently provide kind of two option of baked lighting filters such as baked lighting and baked lighting environment.

This is new feature of baked lighting. Just turn on to color that will be use to

composite layer or some stuff if you useable.

Bake Lighting filter for mobile game workflow.

TWEAKING

Bake Lighting node those made used Level with light position as math at above. Next page have some simply understanding about WSN with re-lighting.

Bake Lighting filter for mobile game workflow.

light_base mg_light

TWEAKING

Disassemble of World space normal Also WSN channel R = X , G = Y , B = Z

Using World space normal

TWEAKING

Disassemble of World space normal

Bake Lighting filter understanding practice

MATCHING PBR LOOK.DEV

QA note In some case represent to correct errors from QA talk before at substance user group seminar. DXT5 channel structure = R(5)G(6)B(5)A(8) DXT5nm = swizzle R(X) or B(Z) to A(W) OPENGLES nm = Generally 4 bit per channel as PVRTC