유 니 티 스크린 눈송이 다른 구현 방식 예시

2989 단어 Unity스크린눈꽃
오늘 은 크리스마스 이브 입 니 다.이 를 위해 특별히 눈송이 가 떨 어 지 는 장면 을 만 들 었 습 니 다.우리 의 눈송이 렌 더 링 방식 은 인터넷 에서 유행 하 는 Camera Filter 와 달리 스 크 립 트 를 카메라 에 걸 어야 합 니 다.우 리 는 빈 대상 에 걸 어야 합 니 다.실현 방식 은 사용자 정의 Mesh 를 사용 합 니 다.사용자 정의 Mesh 는 우리 가 많은 효 과 를 실현 하 는 데 도움 을 줄 수 있 습 니 다.또한 효율 향상 에 매우 도움 이 됩 니 다.눈송이 의 실현 방식 은 C\#스 크 립 트 와 Shader 렌 더 링,C\#눈송이 의 생 성 을 책임 지고 Shader 는 눈송이 의 춤 과 렌 더 링 을 책임 집 니 다.다음은 실현 방식 을 소개 한다.
유 니 티 에 대해 서 는 프레임 당 65000 정점 을 렌 더 링 할 수 있 습 니 다.눈 을 나타 내 는 그물 모양 의 물건 은 눈송이 한 조각 에 4 개의 정점,65,000/4=1,6250 을 사용 합 니 다.이것 도 당신 이 한 번 에 그 릴 수 있 는 눈 수량 입 니 다.
사용자 정의 Mesh,우 리 는 이 두 가지 인자 가 필요 합 니 다.눈꽃 의 수량,눈꽃 의 범위,그리고 사용자 정의 Mesh 를 실현 하려 면 다음 과 같은 몇 가지 인자 가 필요 합 니 다.눈꽃 의 정점,눈꽃 의 삼각형 색인,눈꽃 UV 를 저장 하고 마지막 으로 MeshRender 가 렌 더 링 을 도와 야 합 니 다.우선 정 의 된 매개 변 수 는 다음 과 같 습 니 다.

변수 가 정의 되 었 습 니 다.다음 작업 은 초기 화 입 니 다.우리 의 초기 화 작업 은 한 번 만 해 야 하기 때문에 Start 함수 에서 이 루어 집 니 다.다음 에 우 리 는 정 의 된 변수 에 따라 그들 을 점차적으로 채 우 고 먼저 눈송이 정점 의 생 성 을 완성 한다.다음 과 같다.

정점 이 있 으 면 다시 색인 을 채 웁 니 다.코드 는 다음 과 같 습 니 다.

색인 이 생 겼 습 니 다.다음은 UV 입 니 다.UV 의 실현 방식 을 살 펴 보 겠 습 니 다.

정점,색인,UV 가 정 의 된 후,다음은 사용자 정의 눈꽃 Mesh 를 쓰 는 것 입 니 다.우리 가 이미 실현 한 정점,색인,UV 를 한꺼번에 우리 에 게 부여 한 Mesh 는 다음 과 같 습 니 다.

여기까지 우리 의 사용자 정의 Mesh 가 완성 되 었 습 니 다.우 리 는 Mesh 를 렌 더 링 해 야 합 니 다.이것 은 우리 의 Shader 를 사 용 했 습 니 다.눈송이 가 날 리 고 재질 도 필요 합 니 다.눈송이 위치의 변 화 는 우리 가 정점 착색 기 에서 이 루어 집 니 다.이것 도 중점 입 니 다.세 션 착색 기 는 간단 한 렌 더 링 만 했 습 니 다.핵심 코드 는 다음 과 같 습 니 다.

나머지 는 C\#에서 CPU 를 사용 하여 GPU 에 정 의 된 Shader 전송 값 입 니 다.Shader 에 서 는 다음 과 같은 변 수 를 정의 합 니 다.

이 변 수 는 C\#에서 값 을 전달 하 는 작업 을 완성 해 야 합 니 다.각 프레임 이 실행 되 어야 하기 때문에 저 희 는 LateUpdate 에 두 었 습 니 다.코드 는 다음 과 같 습 니 다.

이렇게 해서 우리 의 눈송이 제작 이 완성 되 었 습 니 다.우 리 는 코드 를 자신 이 새로 만 든 빈 대상 에 걸 었 습 니 다.여 기 는 카메라 가 아니 라 실현 효 과 는 다음 과 같 습 니 다.

우리 의 설경 이 나 타 났 지만 효과 가 특별히 좋 지 않 고 과장 강도 가 부족 하 다.그래서 나 는 이 를 더 해'경 심,안개 효과,Bloom 렌 더 링'효 과 를 보 았 다.그리고 효 과 는 다음 과 같다.

효과 가 현저히 강화 되 었 습 니 다.그림 속 의 사슴 은 여러분 에 게 축복 을 드 리 는 것 입 니 다.개발 자의 기술 이 한층 더 향상 되 기 를 기원 합 니 다.여기까지 쓰 겠 습 니 다.코드 뒤에 정리 해서 올 려 드 리 겠 습 니 다.참고 하 세 요.안녕 히 주 무 세 요,여러분.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기