홈>
테라 리아와 스타 바운드가 가지고있는 안개등 조명 스타일을 달성하려고합니다. Terraria의 조명 시스템은 더 블록/타일 기반이지만 Starbound는 훨씬 더 매끄 럽습니다.
원하는 효과 :
Starbound는 셰이더를 사용하여 조명을 렌더링하지만 어떻게 진행되는지는 미스터리입니다.
원하는 효과를 얻는 방법에 대한 아이디어는 다음과 같습니다. 검은 색 텍스처를 만들고어떻게흰색 영역을 계산하여 라이트 맵 렌더링 텍스처에 저장합니다. 메인 텍스처와 라이트 맵 텍스처의 Additive Blend를 수행하여 Starbound와 유사한 효과를 얻습니다. (그러나 이것은 월드의 라이트를 고려하지 않으며, 라이트 맵 렌더 텍스처에 대한 계산에 포함시키는 방법도 전혀 없습니다)
라이트 맵 렌더 텍스처에서이 "마스크"효과를 만드는 방법에 대한 실마리가 없기 때문에 이탤릭체로어떻게말합니다. 마스크를 만드는 데 필요한 계산을 수행하는 방법은 저쪽에 있습니다. 카메라가 보는 것과 관련하여 게임 세계의 데이터를 번역하고 그에 따라 텍스처를 업데이트하는 방법을 모르겠습니다.TLDR :Unity 2D에서 Terraria 또는 Starbound와 유사한 조명을 어떻게 얻을 수 있습니까?
- 답변 # 1
관련 자료
- javascript - Nodejs를 사용하여 다중 스레드와 유사한 동작 달성
- Java 및 OpenGL에서 평면 조명을 사용할 수 없습니다
- hangout - 카드 텍스트에서 고정 폭 텍스트 달성
- mysql - 목표가 한 테이블에 있고 활동이 다른 테이블에있는 경우 다른 목표 달성을 향한 진전을 보여주는 방법
- three.js - ThreeJS FBO 입자 조명 및 그림자
- java - 그림과 비슷한 GUI를 달성 했습니까?
- loading - 하이 차트에서 막대 차트의 조명 효과로 진행 중임을 표시하는 방법
- scenekit - 다른 모델에서 금속 쉐이더를 사용한 후 물리 기반 조명이 손실 되었습니까?
- three.js - 수정 된 메시 조명이 제대로 보이지 않습니다
- javascript - 바꾸기를 사용하여 형식 x xxx, xx 달성
- three.js - 텍스처 업데이트로 조명 업데이트시 이미지가 손실 됨
- c - 이 경우 프로그램을 모듈화하고 정보를 숨기는 방법은 무엇입니까?
- c# - 이미지 조명 보정
- aqua data studio - 다단계 헤더를 달성하기 위해 SQL에서 피벗하는 방법
- 반응 네이티브 스타일링 문제에 직면하고 더 나은 반응 형 레이아웃 달성
- salesforce - 기존 Visualforce 페이지를 조명으로 마이그레이션하는 방법
- swift - 절차 적 메시가 조명을 렌더링하지 않음 [scenekit - xcode]
- unity3d - 휴대 전화에서 에디터와 다르게 보이는 Unity2D의 조명
- c++ - 마이크로 컨트롤러 STM32F373 감지에서 LED를 켜는 데 문제가 있습니다
관련 질문
- unity - 플레이어가 2D 안개 레이어를 부드럽게 통과하도록 만드는 방법은 무엇입니까?
- unity - 2D 스프라이트에 겹치는 셰이더를 사용하려고하지만 스프라이트의 모양이 표시되지 않습니다
- 2d - 캔버스의 참조 해상도 내에 텍스트를 배치하는 데 어려움이 있음
- unity - 텍스처를 아틀라스로 분류하는 방법
- unity - collider2D를 사용하여 게임 오브젝트에서 애니메이션 트리거
- shaders - unity - 프리 팹이 동일한 여러 적에게 shadergraph 효과를 제어하려면 어떻게해야합니까?
- unity - 커브 궤적없이 오브젝트를 던지는 방법?
- unity - 셰이더를 사용하여 정확히 1x1 픽셀 너비의 도트 그리드를 렌더링하는 방법은 무엇입니까?
- unity - 충돌 후 플레이어가 회전하는 이유는 무엇입니까?
먼저 컬러 맵을 그립니다
그러면 라이트 맵을 그립니다
마침내 둘 다 곱하십시오.
게임에서 일종의 2 차 조명을 원하고 게임 세계에서 지형 및/또는 오브젝트 배치에 그리드를 사용하는 경우 해결책이 있습니다. 이것은 인스턴트 라디오 시티와 같은 것입니다.
먼저 광원에서 추적하여 어떤 셀에 빛이 들어 왔는지 알 수 있습니다.
그런 다음 원래 빛으로부터의 거리에 따라 강도가 약화 된 조명 된 셀에 다른 광원을 배치합니다. 당신은 또한 그것들을 약간 흐리게하고 싶을 수도 있습니다. 결과지도입니다.기존 광원을 추가하십시오.
그런 다음 컬러 맵을 곱하십시오.
렌더링 파이프 라인에 대한 의사 코드는 다음과 같습니다 (구문 강조 표시는 중요하지 않습니다)