8.10
유니티 코리아에서 제공하는 영상을 보면서 진행 중.
https://www.youtube.com/watch?v=mlNWoROvavY&list=PLo0EL2mTb8Nw6GRRrYhXIG6vh9U-BukXZ&index=2
보다보면 ZWrite와 ZTest에 관한 설명이 좀 부족한데, 이 블로그에 설명이 잘 되어 있다.
https://rito15.github.io/posts/unity-transparent-stencil/
유니티 반투명, 스텐실 개념 익히기
목차
rito15.github.io
패스옵션 중에 AlphaToMask란 기능이 새로 들어갔다고 한다. 이걸 켜면 컷아웃(알파)부분 품질이 좋아진다고 한다.
해보니 요래 나옴.
단계를 늘려줄 수도 있다. 4x정도 되면 요래 나온다.
그리고 셰이더 코드를 이용해 저 단계를 모아주면 안티앨리어싱과 비슷하게 처리할 수 있다....라는 설명이다.
https://bgolus.medium.com/anti-aliased-alpha-test-the-esoteric-alpha-to-coverage-8b177335ae4f
Anti-aliased Alpha Test: The Esoteric Alpha To Coverage
Aliasing is the bane of VR. We have several tools we use to try to remove, or at least reduce aliasing in real time graphics today. Tools…
bgolus.medium.com
그래서 따라해봤더니 이런 모양.
하지만 그걸 보간해서 어따쓰지...? 싶었는데 VR등에서 많이 사용된다고 한다?
SDF맵과 함께 쓰면 그럴싸한 결과를 낼 거 같긴 하다. 그런데 SDF가 쌀 것 같았는데 비싸기 때문에 결국 알파 크게 쓰는 게 나을 듯.
그냥 이런 게 있구나. 하고 넘어가자. 저건 그냥 봐도 비싸보임.ㅋㅋ
셰이더 그래프 공부할 때도 가장 이해가 안됐던 게, UV였다.
둥글게 왜곡을 시킨다던가, 소용돌이 치게 만든다던가 다양하고 멋진 효과들이 많은데,
아티스트입장에서 UV란, 전개도에 불과하다. 어쨌거나 '버텍스'들을 중심으로 움직이는 건데, 그럼 점이 4개인 플랜에서는 아무리 움직여봤자 Twirl같은 이미지는 나올 수가 없다. 어떻게 하는 거지?
싶었는데, 코드로 배우니 이제 좀 이해가 된다. 이건 픽셀셰이더에서 돌리는 것이기 때문인 것.
셰이더란 게 각각의 점에 대한 연산이니 픽셀셰이더로 넘어가면 화면의 해상도만큼 엄청나게 많은 양의 점이 생기는 것과 다름없다.
어? 그럼 UV왜곡을 버텍스 셰이더에서 준다면 어찌될까?
일단 난수발생을 몰라서 인터넷을 찾았다.
frac ( sin ( dot (v.uv, float2 ( 12.9898 , 78.233 ))) * 43758.5453)
오...겁나 멋있어졌다. 로폴스럽게 구긴다.
이건 플랜이니 그래도 폴리곤이 좀 된다. 쿼드에 입힌다면?
예상했던 움직임이 나왔다.
그럼 일단 UV란 것은 내가 생각하던 전개도는 맞다.
하지만 픽셀셰이더에서는 점이 적어 왜곡이 발생하지는 않는다.
셰이더 그래프에서는 버텍스 셰이더에 UV를 받는 항목이 아예 없어서 실험을 못해봤던 것이군.
8.11
예제에서 사인함수에 float3를 넣는 걸 보고 "왜 저게 되지...?" 싶어서 한참 고민했다.
그래서 유니티 켜서 Vector3를 Mathf.Sin()에 넣어보니 역시 안돼.
hlsl에선 그냥 되나 보다. 각각 계산해 준다.
요새 유행한다는 AI페인팅. 키워드는 Rainy Gangnam, oil painting
https://colab.research.google.com/github/alembics/disco-diffusion/blob/main/Disco_Diffusion.ipynb
Disco Diffusion v5.6 [Now with portrait_generator_v001]
Run, share, and edit Python notebooks
colab.research.google.com
와. 미친 ㅋㅋㅋ 이거 그리는데 30분밖에 안걸려.
이젠 그림을 어떻게 하면 잘 그릴까? 가 아니고 어떤 키워드로 명령을 하면 예쁜 그림을 뽑아낼까? 를 고민하는 시대가 온 것 같음.
8.12
초심자가 URP용 HLSL 공부하기엔 더없이 좋은 사이트. 뭔가 친절하시다...
https://blog.naver.com/webtoon03
사자소굴 : 네이버 블로그
컴퓨터 그래픽 공부합니다. 정보 오류 지적해주시면 감사합니다
blog.naver.com
오... 드디어 코드화 작업이 1차 마무리!
저 윤곽선 패스를 한 셰이더에 넣고 싶어서 시작한 일이었는데,
공부하다 보니 다른 것들도 좀 최적화가 된 것 같아서 흐뭇