-
vvvv gamma : Audio Visualization (with FFT) #2 / week5Graphics/VVVV gamma 2023. 11. 20. 12:08
이어서 두번째 내용이다.
글리치같은 효과를 추가되었고, 소리에 따라 원들의 크기가 커지며 여러개가 생겨난다.
전체 패치 모습이다.
효과를 추가하기 위해 SkiaTexture을 연결한다.
SkiaTexture와 TextureWindow를 추가하기위해서는 VL.Stride 라이브러리를 열어야한다.
(Skia와 관련된 노드인데 왜 Stride 안에 들어있는지 의문이지만 꼭 VL.Stride를 추가해주자!)
ShiftRGB : RGB 색상으로 레이어가 번지도록 하는 효과.
데시벨을 가져오는 Meter와 연결하여 소리가 클수록 더욱 강하게 번지도록 했다.
Info(/Textures.Utils) : 텍스처의 여러 정보값들을 보여주는 노드.
볼륨이 일정 값을 넘으면 배경색이 하얗게 바뀌도록 하는 부분이다.
SkiaTexture의 Color 인풋을 extend해준다.
FFT4Bands는 LinToLog의 아웃풋과 연결되어있다.
FFT4Bands는 potential future node이다.
오디오 시그널의 여러 속성들을 내보내주는 역할을 한다.
여기서는 FFT4Bands의 Bass(Float32) 값을 내보냈다.
이 값이 0.48이 넘으면 True로 바뀌면서 FromHSL의 Lightness 인풋으로 값을 넘겨주도록 했다.
Filter는 Damper와 유사하다.
색이 한번에 바뀌는게 아니라 서서히 변한다.
반복 패턴을 만들어주는 부분이다.
Mosaic : (in) - Input(Texture), Cells(Vector2), Mirror(Boolean), Scaling(Vector2),
Stripes(Boolean), Control(GPU_Vector4), Apply(Boolean)
(out) - Output(Texture)
=> 여러가지 인풋들이 있지만 여기서 쓰인 Cells와 Scaling만 다뤄보자.
Cells는 복사될 개수를 결정하고 Scaling은 패턴의 크기를 결정한다.
Mosaic의 Cells와 Scale에 각각 Map을 연결하고 데이터는 FFT4Bands의 Hight에서 받아온다.
위 과정을 통해 원하는 범위로 커스터마이징이 가능하고,
각각의 값들을 동일하게 x와 y로 사용해주기 위해 ToVector2 노드를 이용하였다.
(Vector(join)을 사용해도 무관하다.)
아래는 최종 결과 영상이다.
'Graphics > VVVV gamma' 카테고리의 다른 글
vvvv gamma : Language Methodologies / week7 #1 (2) 2023.12.02 vvvv gamma : Advanced 3D / week6 #1 (1) 2023.11.24 vvvv gamma : Audio Visualization (with FFT) #1 / week5 (2) 2023.11.19 vvvv gamma : Audio React / week5 (0) 2023.11.16 vvvv gamma : SimplexNoise와 UI / week4 (1) 2023.11.13