34
1. Lighting in Stingray 2. Stingray 1.2 업데이트 지난 모임 발표 내용 (2월 24일) 1. 스팅레이 비주얼 스크립팅 (Flow) 2. 스팅레이 머터리얼 3. 스팅레이 플러그인 개발 지난 발표 자료는 스팅레이 카페에 게시됩니다. http://cafe.naver.com/stingraykorea

Lighting in Stingray

Embed Size (px)

Citation preview

순 서

1. Lighting in Stingray

2. Stingray 1.2 업데이트

지난 모임 발표 내용 (2월 24일)

1. 스팅레이 비주얼 스크립팅 (Flow)

2. 스팅레이 머터리얼

3. 스팅레이 플러그인 개발

지난 발표 자료는 스팅레이 카페에 게시됩니다.

http://cafe.naver.com/stingraykorea

Lighting in Stingray

Stingray Editor 사용법을 중심으로

Agenda

1. Global Lighting Settings

2. Light Sources

3. Light Baking

4. Reflection

5. Shadows

Shading Environment

• 라이팅, 렌더링, 포스트 프로세싱에 관련된 글로벌 설정 모음

• 12개의 컴포넌트로 구성

• 일부 설정 값은 Story Editor에서 애니메이션 설정 가능 (1.2 new)

Global Lighting

• Skydom Texture

– Equirectangular Projection Image

– Width:Height = 2:1

스카이돔의 밝기만 결정하고, 다른 물체의 밝기에 는 영향을 미치지 않는다.

Global Lighting

• 큐브맵 만들기 Window > Lighting > Bake Reflection Probes

간접광에 주변 환경의 영향을 반영하는데 사용되는 큐브맵. 간접광을 라이트맵으로 구운 물체에 대해서는 적용되지 않는다.

간접광 중에서 스페큘러 라이트에 적용되는 큐브맵. 물체의 머터리얼의 Metallic 이 클수록 영향이 크다.

Global Lighting

Global diffuse map과 Lightmap에 적용되는 색깔과 밝기. 맵을 구울 때도 영향을 준다.

Global Lighting

Global diffuse map과 Lightmap에 적용되는 색깔과 밝기. 맵을 구울 때도 영향을 준다.

Global specular map, 추가적인 리플렉션 프로브, Screen space reflections 에 적용되는 색깔과 밝기.

Global Lighting

Global diffuse map과 Lightmap에 적용되는 색깔과 밝기. 맵을 구울 때도 영향을 준다.

Global specular map, 추가적인 리플렉션 프로브, Screen space reflections 에 적용되는 색깔과 밝기. 파티클 이펙트에 의해 생성된

발광 파티클의 밝기 조절

Light Sources

• Directional light

• Omni-directional light

• Spotlight

• Box light – 창이나 문을 통해 들어오는 빛

Light Material

• Output 노드를 Standard Base 대신 Light Base를 사용한다.

• Shader Graph Editor에서 Light Vector 노드는 월드 좌표계에서 빛의 방향 벡터이다. 그러므로, 광원의 위치로 오프셋되고 노말라이즈된 좌표이다. (UV로 사용)

• Directional light에는 적용되지 않는다. (UV좌표를 적용할 위치 정보가 없다)

Light Material

Light Baking

• Beast 또는 Stingray Baker(1.2 new)

– 내부 알고리즘 다르나, 사용법은 비슷

• Lightmap은 uv1 사용한다. (uv0은 컬러맵이 사용) 뷰포트에서 확인 가능

• Stingray Editor에서 uv1을 언랩할 수 있지만 최적화는 하지 않는다. (각 메시 별로 Unit Editor에서 설정) DCC툴에서 생성하면 최적화할 수 있다.

Lightmap Baking Settings

• Window > Lighting > Bake Lightmaps

• Property Editor

– Per unit: Beast – Enabled

– Per mesh: Beast Mesh Settings 3개

– Per light: Beast – Enabled, Light – Baked, Beast Light Settings – Indirect Intensity(only Beast)

– Global lighting settings: Baked Diffuse Tint (and intensity) 라이트맵을 얼마나 적용할지

Bake Lightmaps

Reflections

• Physics Based Rendering 머터리얼에서 반사 처리

• Metallic : 반사광의 양을 결정

• Roughness : 반사광이 얼마나 선명할지

• 금속표면은 반사광의 색깔을 바꾸지만, 비금속표면은 바꾸지 않는다.

• 3가지 테크닉 사용 (global specular light, local reflection probes, screen space reflection)

Global Specular Light

• Global Specular Map (in Global Lighting)

Global Specular Light

• 모든 물체에 적용되므로 이상할 때도 있다.

Placed Reflection Probes • 레벨에 reflection probes를 추가적으로 배치

• reflection probe 주변 일정 범위 안에서는 global specular map 대신 그 프로브에서 구운 큐브맵을 사용

• 여러 개의 프로브 영역이 겹치는 곳에서는 각 큐브맵을 보간해서 적용

• 단점: 주변 환경이 변해도 큐브맵은 구울 때 환경을 반영 (static)

• 변화가 예측 가능하면 변화 전후로 프로브 집합을 나눠서 구운 후에 런타임에 바꿔치기

Settings for Reflection Probes 이 범위 안에 있는 물체만 이 프로브가 구운 큐브맵의 영향을 받는다.

Settings for Reflection Probes 이 범위 안에 있는 물체만 이 프로브가 구운 큐브맵의 영향을 받는다.

큐브맵 영향 범위 가장자리로 갈 때 반사가 흐릿해지는 범위

Settings for Reflection Probes 이 범위 안에 있는 물체만 이 프로브가 구운 큐브맵의 영향을 받는다.

큐브맵 영향 범위 가장자리로 갈 때 반사가 흐릿해지는 범위

시차 보정 범위: 실제 반사면의 위치와 reflection probe 위치가 달라서 생기는 차이를 보정하기 위한 설정. 반사될 물체가 딱 포함되도록 크기를 맞춘다.

Screen Space Reflections

• 실시간 포스트 프로세싱 이펙트

• Depth buffer 이용 반사되기 위해서는 물체가 이 값보다 더 두꺼워야 한다. 이 값이 커지면 반사되지 않는다.

Screen Space Reflections

• 실시간 포스트 프로세싱 이펙트

• Depth buffer 이용 반사되기 위해서는 물체가 이 값보다 더 두꺼워야 한다. 이 값이 커지면 반사되지 않는다.

Max 값에 대한 두께 테스트를 이 거리 간격으로 한다. 물체가 스크린스페이스에서 이 거리보다 가늘면 반사되지 않고, 두 물체가 이 거리보다 가까우면 구분되지 않는다.

Screen Space Reflections

• 실시간 포스트 프로세싱 이펙트

• Depth buffer 이용 반사되기 위해서는 물체가 이 값보다 더 두꺼워야 한다. 이 값이 커지면 반사되지 않는다.

Max 값에 대한 두께 테스트를 이 거리 간격으로 한다. 물체가 스크린스페이스에서 이 거리보다 가늘면 반사되지 않고, 두 물체가 이 거리보다 가까우면 구분되지 않는다. 반사각 때문에 화면 가장자리에

화면 밖의 물체가 반사될 수 있으나 스크린 스페이스 리플렉션은 포스트 프로세싱이므로 그것을 처리 할 수 없다. (다음 슬라이드 참조)

Border Bending Enabled

Screen Space Reflections

• 실시간 포스트 프로세싱 이펙트

• Depth buffer 이용 반사되기 위해서는 물체가 이 값보다 더 두꺼워야 한다. 이 값이 커지면 반사되지 않는다.

Max 값에 대한 두께 테스트를 이 거리 간격으로 한다. 물체가 스크린스페이스에서 이 거리보다 가늘면 반사되지 않고, 두 물체가 이 거리보다 가까우면 구분되지 않는다. 반사각 때문에 화면 가장자리에

화면 밖의 물체가 반사될 수 있으나 스크린 스페이스 리플렉션은 포스트 프로세싱이므로 그것을 처리 할 수 없다. (다음 슬라이드 참조)

화면 가장자리 영역의 두께를 지정하는 값. 이 값이 크면 Border Bending 영향 받는 영역이 넓어진다.

Reflection Sources 우선순위

• 세 가지 동시에 사용 가능

• 각 픽셀마다 우선 순위에 따라 결정

1. Screen space reflection 있으면 적용

2. Reflection probe 주변이면 로컬 큐브맵

3. Reflection probe 바운딩 볼륨 경계여서 reflection influence가 1 미만이거나, 근처에 reflection probe가 없으면 global specular map 적용

Shadows

• Shadow maps: 광원으로부터 depth map

• Cascaded shadow map: 카메라로부터 거리에 따라 다른 shadow map 사용

– 첫 번째 directional light에만 적용

• 광원, 메쉬마다 Cast Shadows 설정해서 그림자를 생성할지 결정

– 광원: Property Editor

– 메쉬: Unit Editor

Cascaded Shadow Mapping

• In shading environment

카메라로부터 이 거리 안에 있는 물체에 대해 그림자를 그린다.

이 값이 작으면 날카로운 그림자, 이 값이 크면 부드러운 그림자 (다음 슬라이드 참조)

Log/Linear Blend

Shadow Bias

• Shadow Bias (Light Property) (1.2 new)

– 다음과 같은 이상 현상이 발생하면 조절

– 그림자 깜빡임, 줄무늬, 물결무늬 -> 증가시킴

Shadow Bias

• Shadow Bias (Light Property)

– “peter pan” 현상 ->감소시킴