1 00:00:02.266 --> 00:00:03.166 실감 2 00:00:04.457 --> 00:00:08.957 실감 공통편 나이아가라 시스템 제어 3 00:00:23.700 --> 00:00:26.849 안녕하세요 박현상 입니다 4 00:00:26.849 --> 00:00:32.379 이번 시간에는 나이아가라 시스템의 제어에 대하여 알아보려고 합니다 5 00:00:32.379 --> 00:00:36.849 이펙트는 컨텐츠 실행 중에 변화를 만들어냅니다 6 00:00:36.849 --> 00:00:43.940 따라서 시스템과 연계되어 다양한 그래픽, 외부 변수와의 연동을 활용할 수 있는데요 7 00:00:44.680 --> 00:00:49.040 블루프린트,3D 메시 데이터와 연계되어 사용하거나 8 00:00:49.040 --> 00:00:53.680 머티리얼을 나이아가라에서 직접 제어하는 것도 가능합니다 9 00:00:53.680 --> 00:00:57.340 다이나믹 머티리얼을 통한 머티리얼 효과 제어 10 00:00:57.799 --> 00:01:03.220 우선은 스타트 컨텐츠에서 프랍에 머티리얼 항목으로 가시면 됩니다 11 00:01:03.220 --> 00:01:06.000 프랍 안에 있는 머티리얼 폴더입니다 12 00:01:06.000 --> 00:01:10.839 의자를 사용할 것이기 때문에 M 언더바 체어라고 되어 있는 것을 13 00:01:10.839 --> 00:01:15.080 우리의 VFX 폴더로 드래그해서 카피를 해줍니다 14 00:01:15.080 --> 00:01:19.480 그러면 프랍 폴더에 있던 머티리얼이 VFX 폴더로 15 00:01:19.480 --> 00:01:22.675 이렇게 카피가 된 것을 확인하실 수가 있죠 16 00:01:22.675 --> 00:01:26.421 동일한 이름이 혼종이 되면 안되니까 17 00:01:26.421 --> 00:01:32.838 이름을 리네임을 통해서 체어 언더바 디졸브라고 지어 주겠습니다 18 00:01:32.838 --> 00:01:34.440 더블 클릭해서 열겠습니다 19 00:01:34.440 --> 00:01:39.679 우리는 의자에 사용된 이 머티리얼을 약간 변형해서 20 00:01:39.679 --> 00:01:41.919 디졸브 효과를 만들어 줄 겁니다 21 00:01:41.919 --> 00:01:45.639 우선은 약간 이렇게 노드들이 들어갈 수 있는 공간들을 22 00:01:45.639 --> 00:01:47.760 전체적으로 선택을 해서 23 00:01:47.761 --> 00:01:50.541 좀 밀어서 확보를 해 주고요 24 00:01:50.541 --> 00:01:53.320 현재는 마스터 노드를 확인해 보면 25 00:01:53.320 --> 00:01:54.800 opacity와 관련된 26 00:01:54.800 --> 00:01:58.340 서서히 사라져야 되니까 투명도가 바뀌어야겠죠 27 00:01:58.340 --> 00:02:01.160 그러니까 이 투명도를 우리가 사용할 수 있게끔 28 00:02:01.160 --> 00:02:05.080 블렌드 모드를 OPEQUE가 아닌 MASKED로 바꿔서 29 00:02:05.080 --> 00:02:07.619 오파시티 마스크 항목을 활성화 해줍니다 30 00:02:08.039 --> 00:02:12.520 기본적으로 오파시티 마스크는 0.5를 입력해도 보이는데 31 00:02:12.520 --> 00:02:14.320 반투명을 지원하지 않고 32 00:02:14.320 --> 00:02:17.039 0을 입력하면 이렇게 아예 안 보이고 33 00:02:17.039 --> 00:02:20.039 0.3을 입력해도 지금 보는 것처럼 안 보이고 34 00:02:20.039 --> 00:02:23.080 오로지 일정한 숫자를 기준으로 해서 35 00:02:23.080 --> 00:02:24.959 0 아니면 1만 36 00:02:24.959 --> 00:02:29.499 보인다 안 보인다 라는 개념만 가지고 있는 것이 마스크드 입니다 37 00:02:29.499 --> 00:02:35.560 자,우리의 마스크드 효과를 파티클에서 제어할 것이기 때문에 38 00:02:35.560 --> 00:02:39.120 파티클에서 이 나이아가라 시스템에서 제어할 것이기 때문에 39 00:02:39.120 --> 00:02:43.720 머티리얼에 나이아가라에서 직접적으로 값을 넣어 줄 수 있게끔 40 00:02:43.720 --> 00:02:48.720 Dynamic Parameter라는 노드를 생성해 주도록 하겠습니다 41 00:02:48.720 --> 00:02:53.839 여기에서 단순하게 보면 색깔을 지정하는 것처럼 보이지만 42 00:02:53.839 --> 00:02:56.839 여기에는 개별적으로 전부 다 플롯 43 00:02:56.840 --> 00:03:00.070 소수점을 입력할 수 있는 데이터의 형태로 44 00:03:00.070 --> 00:03:03.219 총 4개의 파라미터가 이렇게 주어집니다 45 00:03:03.399 --> 00:03:06.839 그래서 우리는 이 4개의 파라미터를 잘 구성 해서 46 00:03:06.839 --> 00:03:09.360 디졸브 효과를 제어해 볼 겁니다 47 00:03:09.360 --> 00:03:13.600 우선은 각각의 파라미터들의 이름부터 먼저 지어주고 48 00:03:13.600 --> 00:03:15.759 기본 값을 정해 주도록 하겠습니다 49 00:03:15.759 --> 00:03:19.600 첫 번째는 Noise Scale 이라고 먼저 지겠습니다 50 00:03:19.600 --> 00:03:23.800 두 번째는 Dissolve Value 를 이렇게 지어 주고요 51 00:03:23.800 --> 00:03:27.199 Dissolve Edge 라고 만들고 52 00:03:27.199 --> 00:03:31.839 마지막 파라미터는 Emissive Power 라고 지어 주도록 하겠습니다 53 00:03:31.839 --> 00:03:36.039 저 같은 경우에는 예제를 이미 준비해 놓은 입장이니까 54 00:03:36.039 --> 00:03:39.839 이러한 이름들을 먼저 지정해 놓고 시작할 수가 있는데요 55 00:03:39.839 --> 00:03:42.960 여러분들이 실제로 어떤 효과들을 만들 때는 56 00:03:42.960 --> 00:03:46.679 이러한 이름들은 나중에 다른 사람들을 위해서 57 00:03:46.679 --> 00:03:49.279 나중에 지어지는 경우들이 꽤 많습니다 58 00:03:49.279 --> 00:03:52.520 처음부터 노리고 이렇게 예상하고 만든다기 보다 59 00:03:52.520 --> 00:03:56.000 효과를 만드는 중에 꼭 필요한 것들을 골라 담다 보니 60 00:03:56.000 --> 00:03:59.320 어쩔 수 없이 나중에 지어지는 경우들이 많은데 61 00:03:59.320 --> 00:04:01.119 우선은 이렇게 해 놓고 62 00:04:01.119 --> 00:04:03.940 디폴트 벨류에서 여기에서 얘기하는 63 00:04:03.940 --> 00:04:08.119 Red 라고 되어 있는 파라미터 0번 하고 연결되어 있고 64 00:04:08.119 --> 00:04:12.960 그린은 1번, 블루는 2번, 알파가 3번으로 65 00:04:12.960 --> 00:04:17.399 차례차례 매칭이 되게끔 값이 설정이 됩니다 66 00:04:17.399 --> 00:04:23.359 그래서 Red 에다가 기본 값으로 0.01을 입력해 주겠습니다 67 00:04:23.359 --> 00:04:28.760 그린은 0.5, 블루는 0.2, 마지막으로 알파는 8 입니다 68 00:04:28.760 --> 00:04:30.160 이렇게 해서 값을 설정해 놓으면 69 00:04:30.160 --> 00:04:32.180 나중에 노이즈 스케일에선 70 00:04:32.180 --> 00:04:36.239 빨간색이 0.01 이라는 값이 출력이 되는 겁니다 71 00:04:36.239 --> 00:04:39.200 그래서 여러분들이 디폴트 벨류에 있는 이 색깔을 72 00:04:39.200 --> 00:04:41.040 너무 신경 쓰지 않으셔도 됩니다 73 00:04:41.040 --> 00:04:44.920 얘네들은 서로 색깔을 만들기 위해서 쓰는 건 아니니까요 74 00:04:44.920 --> 00:04:48.359 우선 이미지가 자연스럽게 사라지기 위해서는 75 00:04:48.359 --> 00:04:51.440 노이즈를 이용해서 적용을 해 줘야 되는데 76 00:04:51.440 --> 00:04:54.920 여기에서 노이즈를 만드는 일반적인 노드는 77 00:04:54.920 --> 00:04:58.000 노이즈라고 하는 머티리얼 노드가 있습니다 78 00:04:58.000 --> 00:05:01.040 여기에는 포지션 값이 들어가게 됩니다 79 00:05:01.040 --> 00:05:04.760 그래서 월드 포지션 이라고 검색을 하면 80 00:05:04.760 --> 00:05:07.079 Absolute Position 이라고 되어 있죠 81 00:05:07.079 --> 00:05:12.160 여기에 우리가 스케일 값까지 함께 멀티플라이를 통해서 82 00:05:12.160 --> 00:05:14.639 0.01 이라는 값을 83 00:05:14.640 --> 00:05:19.160 포지션 값과 0.01 이라는 값을 계산해서 84 00:05:19.160 --> 00:05:21.399 월드 포지션에 넣어 주게 될 겁니다 85 00:05:21.399 --> 00:05:26.359 그래서 이것을 일단 오파시티 마스크에 가지고 가 보겠습니다 86 00:05:26.359 --> 00:05:28.559 그러면 지금 보시는 것처럼 87 00:05:28.559 --> 00:05:33.079 이렇게 중간 중간 찢겨진 것 같은 형태의 88 00:05:33.079 --> 00:05:35.000 보이거나 투명하거나 89 00:05:35.000 --> 00:05:38.160 이렇게 두 가지 값만 상태로 존재하게 되는데 90 00:05:38.160 --> 00:05:43.160 이것을 메인 베이스 컬러 노드에다가 잠깐 연결을 끊고 91 00:05:43.160 --> 00:05:45.700 이렇게 베이스 컬러에 연결을 해 보면 92 00:05:45.700 --> 00:05:48.560 이런 식으로 노이즈의 형태로 93 00:05:48.560 --> 00:05:51.000 이렇게 이미지의 형태로 되는데 94 00:05:51.000 --> 00:05:52.819 흰색 영역과 검은색 영역 95 00:05:52.819 --> 00:05:55.299 흰색은 보이는 거,검은색은 안 보이는 거 96 00:05:55.299 --> 00:05:57.359 이렇게 적용이 되는 거고요 97 00:05:57.359 --> 00:06:00.339 만약에 우리가 스케일을 바꾸지 않은 상태에서 98 00:06:00.340 --> 00:06:04.419 이걸 집어 넣는다면 굉장히 자잘자잘해 보이는데 99 00:06:04.419 --> 00:06:06.160 서서히 확대를 해 보면 100 00:06:06.160 --> 00:06:10.880 아주 자잘자잘한 노이즈가 생긴 것으로 확인하실 수가 있습니다 101 00:06:10.880 --> 00:06:14.320 이게 월드 유닛을 기준으로 적용이 되는 것이기 때문에 102 00:06:14.320 --> 00:06:18.279 일부러 이 노이즈의 패턴을 좀 크게 만들고자 103 00:06:18.279 --> 00:06:22.040 유닛 값을 0.01을 곱해서 수정한 것이고요 104 00:06:22.040 --> 00:06:24.480 이렇게 노이즈를 사용하는 방법 중에는 105 00:06:24.480 --> 00:06:29.320 이 노이즈 노드 말고 텍스처를 활용하는 방법도 있습니다 106 00:06:29.320 --> 00:06:32.160 이 텍스처 샘플을 하나 만들어 가지고요 107 00:06:32.160 --> 00:06:35.559 텍스처 항목에서 노이즈라고 검색을 해 보시면 108 00:06:35.559 --> 00:06:37.799 여러 가지 노이즈 텍스처들이 있습니다 109 00:06:37.799 --> 00:06:39.460 그래서 제가 한 번 비슷한 110 00:06:39.461 --> 00:06:41.941 Offset Noise Distance Field 111 00:06:41.941 --> 00:06:43.079 선택을 해 가지고 112 00:06:43.079 --> 00:06:46.480 이 노이즈를 한번 베이스 컬러에다가 연결해 볼 건데요 113 00:06:46.480 --> 00:06:51.720 이런 식으로 노이즈가 적용된 것을 확인하실 수가 있죠 114 00:06:51.720 --> 00:06:55.880 이건 보통의 노이즈 텍스처는 타일링이 되기 때문에 115 00:06:55.880 --> 00:06:58.920 텍스처 코디네이트 같은 것들을 이용해서 116 00:06:58.920 --> 00:07:02.200 반복하는 횟수를 세 장씩 반복하라던가 117 00:07:02.200 --> 00:07:05.239 이런 식으로 해서 UV 항목에 연결해 주면 118 00:07:05.239 --> 00:07:07.920 이렇게 자잘자잘하게 만드는 것도 가능하고 119 00:07:07.920 --> 00:07:09.760 크게 만드는 것도 가능합니다 120 00:07:09.760 --> 00:07:14.880 다만 이 텍스처 샘플이라고 하는 UV 값 같은 경우에는 121 00:07:14.880 --> 00:07:17.579 3D 오브젝트의 UV가 122 00:07:17.579 --> 00:07:22.200 폴리곤을 평면으로 펼친 형태의 영향을 받기 때문에 123 00:07:22.200 --> 00:07:25.279 이걸 만약에 그대로 오파시티에다가 적용을 하게 되면 124 00:07:25.279 --> 00:07:27.720 어떻게 UV가 펴졌느냐에 따라서 125 00:07:27.720 --> 00:07:31.119 이렇게 흔히 심이라고 얘기를 합니다 126 00:07:31.119 --> 00:07:32.520 이렇게 갈라져 있는 127 00:07:32.521 --> 00:07:34.401 폴리곤이 갈라진 이 경계 128 00:07:34.401 --> 00:07:36.320 UV들끼리 서로 떨어져 있는 129 00:07:36.320 --> 00:07:39.760 만약에 육면체를 UV를 핀다고 하면 130 00:07:39.760 --> 00:07:42.640 우리가 흔히 생각하는 이런 전개도의 형식으로 131 00:07:42.640 --> 00:07:44.200 이렇게 펼 수도 있겠죠 132 00:07:44.200 --> 00:07:49.519 혹은 6개의 면을 다 따로 펼 수도 있을 것이고요 133 00:07:49.519 --> 00:07:53.399 그때 이렇게 갈라져 있는 이런 부분들을 134 00:07:53.399 --> 00:07:56.040 우리는 심 이라고 부르는데 135 00:07:56.040 --> 00:07:59.480 이렇게 심 때문에 패턴이 연속되지 않고 136 00:07:59.480 --> 00:08:01.920 지저분해 보이는 것을 확인할 수가 있습니다 137 00:08:01.920 --> 00:08:05.079 그래서 그런 것들을 방지하기 위해서 138 00:08:05.079 --> 00:08:07.480 노이즈 텍스처를 쓰는 건데요 139 00:08:07.480 --> 00:08:09.640 노이즈 노드를 사용하는 건데 140 00:08:09.640 --> 00:08:11.920 노이즈 노드를 사용하다 보면 141 00:08:11.920 --> 00:08:17.600 지금 보시는 것처럼 월드의 포지션 값을 기준으로 생성된 노이즈이기 때문에 142 00:08:17.600 --> 00:08:23.600 UV 심에 영향을 받지 않으면서도 깔끔하게 효과를 적용할 수가 있습니다 143 00:08:23.600 --> 00:08:25.721 불필요한 효과는 지워주고 144 00:08:25.721 --> 00:08:27.701 텍스처랑 이건 지우고 145 00:08:27.701 --> 00:08:32.520 베이스 컬러를 다시 원래 색상이 나올 수 있게끔 연결해 주겠습니다 146 00:08:32.520 --> 00:08:36.559 자 우리는 이러한 노이즈 값을 바탕으로 해서 147 00:08:36.559 --> 00:08:39.400 추가적인 디졸브 효과를 만들 겁니다 148 00:08:39.400 --> 00:08:42.159 우선 Step 이라는 노드를 이용해 가지고 149 00:08:42.159 --> 00:08:46.719 먼저 노이즈와 스텝 값으로 스텝을 이용해서 150 00:08:46.719 --> 00:08:48.919 X에다가는 노이즈 값을 151 00:08:48.919 --> 00:08:53.359 Y에다가는 디졸브 밸류값을 연결해 줬습니다 152 00:08:53.359 --> 00:08:54.200 이런 식으로 153 00:08:54.200 --> 00:09:00.479 그리고 나서 이것을 알파 오파시티 마스크에다가 연결을 해 주게 되면 154 00:09:00.479 --> 00:09:03.239 이제 그린 채널이죠 155 00:09:03.239 --> 00:09:05.719 디졸브 밸류 인덱스 1번 156 00:09:05.720 --> 00:09:08.520 그린 채널에 있는 값을 낮추게 되면 157 00:09:08.520 --> 00:09:10.400 마이너스를 좀 많이 낮춰 보겠습니다 158 00:09:10.400 --> 00:09:13.479 이런 식으로 보이는 영역이 많아지게 되고요 159 00:09:13.479 --> 00:09:16.119 이 그린 채널의 값을 높여주게 되면 160 00:09:16.119 --> 00:09:19.520 점점 높여서 어느 순간 1보다 커지는 상황이 되면 161 00:09:19.520 --> 00:09:21.001 거의 보이지 않게 162 00:09:21.001 --> 00:09:23.881 이렇게 값이 변화되는 것을 확인하실 수가 있죠 163 00:09:23.881 --> 00:09:29.819 그래서 우리는 이 스텝 노드를 통해서 보이고 안 보이고의 영역이 164 00:09:29.819 --> 00:09:35.720 디졸브 밸류에 따라서 보이고 안 보이고의 영역이 컨트롤되게끔 만들어 놨습니다 165 00:09:35.720 --> 00:09:41.679 여기에다가 스텝 노드를 하나 더 Ctrl-C, Ctrl-V로 복사를 해 주고요 166 00:09:41.679 --> 00:09:46.039 이번에는 디졸브 밸류에다가 더하기로 167 00:09:46.039 --> 00:09:47.580 디졸브 엣지 값 168 00:09:47.580 --> 00:09:50.813 0.2라고 우리가 정해 둔 값이 있었죠 169 00:09:50.813 --> 00:09:54.719 더해서 이것을 복사된 스텝의 y 170 00:09:54.719 --> 00:09:59.400 그리고 노이즈는 동일하게 노이즈로 연결을 해 줬습니다 171 00:09:59.400 --> 00:10:02.879 그리고 나서 Subtractive를 이용해서 172 00:10:02.880 --> 00:10:05.420 Subtract 라고 하는 빼기 173 00:10:05.420 --> 00:10:10.599 덧셈 뺄샘의 빼기 노드를 이용해서 디졸브 밸류만 연결된 것을 174 00:10:10.599 --> 00:10:12.260 임의의 a 라고 175 00:10:12.260 --> 00:10:15.139 지칭하기 쉽게 a 라고 지칭할 거고요 176 00:10:15.139 --> 00:10:18.799 디졸브 밸류와 엣지가 합쳐진 값을 177 00:10:18.799 --> 00:10:22.559 스텝에 적용한 것을 b 라고 지칭하겠습니다 178 00:10:22.559 --> 00:10:25.019 이것을 Subtractive로 넣어서 179 00:10:25.020 --> 00:10:26.900 이 결과를 확인해 보면 180 00:10:26.900 --> 00:10:32.500 지금 보는 것처럼 노이즈 패턴의 경계만 이렇게 나오는 걸 볼 수가 있는데요 181 00:10:32.500 --> 00:10:37.039 이 스텝이라고 하는 노드는 우리가 블랙에서 화이트까지 182 00:10:37.039 --> 00:10:39.840 이렇게 그라디언트 라고 보통 얘기를 하죠 183 00:10:39.840 --> 00:10:44.039 중간에 그레이 톤을 이용해서 이렇게 부드럽게 표현이 되던 것을 184 00:10:44.039 --> 00:10:46.840 내가 지정한 임의의 값을 기준으로 해서 185 00:10:46.840 --> 00:10:52.159 이를테면 0.5 보다 작다면 무조건 0으로 만들고 186 00:10:52.159 --> 00:10:56.600 0.5 보다 크다면 무조건 1로 만드는 이러한 기능을 하는 게 187 00:10:56.600 --> 00:10:59.139 바로 이 스텝이 가지는 일입니다 188 00:10:59.139 --> 00:11:02.080 그래서 1이 되면 보이는 것이고요 189 00:11:02.080 --> 00:11:04.640 0이면 안 보이는 게 되겠죠 190 00:11:04.640 --> 00:11:09.280 만약에 우리가 디졸브 밸류 값을 0.5 라고 지정을 했다면 191 00:11:09.280 --> 00:11:11.460 이렇게 딱 블랙에서 화이트까지 192 00:11:11.460 --> 00:11:15.719 절반을 기준으로 해서 보이고 안 보이는 게 결정이 날 겁니다 193 00:11:15.719 --> 00:11:18.880 근데 여기에다가 엣지 값을 추가 했죠 194 00:11:18.880 --> 00:11:21.599 0.2 라고 하는 엣지 값을 추가 했죠 195 00:11:21.599 --> 00:11:24.440 이 빨간색 선을 엣지라고 하겠습니다 196 00:11:24.440 --> 00:11:28.320 그러면 전체적으로 보이는 영역이 훨씬 줄어들게 되겠죠 197 00:11:28.320 --> 00:11:31.080 이 빨간색의 보이는 영역이 b 입니다 198 00:11:31.080 --> 00:11:37.960 그래서 실제로는 한 장의 메쉬에다가 노이즈 패턴을 집어넣는다고 했을 때 199 00:11:37.960 --> 00:11:40.359 그린색이 a 라고 생각하시면 되고 200 00:11:40.359 --> 00:11:43.440 빨간색이 b 라고 생각하시면 됩니다 201 00:11:43.440 --> 00:11:47.760 이런 식으로 영역이 서로 다르게 나오는 결과가 생기고요 202 00:11:47.760 --> 00:11:51.400 여기에서 a 에서 b 를 뺀 결과가 203 00:11:51.400 --> 00:11:55.239 주황색으로 이만큼만 보이게 되는 겁니다 204 00:11:55.239 --> 00:11:58.239 이러한 원리를 통해서 엣지를 만들어 줬고요 205 00:11:58.239 --> 00:12:02.599 이 엣지를 이용해서 디졸브 색상을 정할 수 있는 206 00:12:02.599 --> 00:12:05.919 벡터 파라미터 로드를 이용해서 207 00:12:05.919 --> 00:12:10.159 이미시브 컬러라고 이름을 짓고 208 00:12:10.159 --> 00:12:13.780 이걸 빨간색으로 한 번 설정해 두겠습니다 209 00:12:13.780 --> 00:12:18.119 여기에다가 이미시브 파워 값을 멀티플라이를 해 줘 가지고요 210 00:12:18.119 --> 00:12:22.679 한 번 더 서브트랙티브한 결과랑 멀티플라이를 해 주겠습니다 211 00:12:22.679 --> 00:12:25.760 그것을 이미시브 컬러에다가 연결을 해 보면 212 00:12:25.760 --> 00:12:28.060 이제 이 선의 간격에 213 00:12:28.061 --> 00:12:33.240 선의 영역에 이런 식으로 발광하는 느낌을 만들어 줄 수가 있게 되고 214 00:12:33.241 --> 00:12:35.261 다시 한번 a 영역 215 00:12:35.261 --> 00:12:37.880 이것을 퍼시티 마스크에 연결한다면 216 00:12:37.880 --> 00:12:41.640 보이는 영역에서 안 보이는 영역을 뺐으니까 217 00:12:41.640 --> 00:12:44.000 제가 녹색으로 한 번 표시해 보겠습니다 218 00:12:44.000 --> 00:12:45.520 이게 a 영역입니다 219 00:12:45.520 --> 00:12:46.959 녹색이 a 영역 220 00:12:46.959 --> 00:12:50.999 이 a 영역에서 빨간색의 b 영역을 뺀 겁니다 221 00:12:50.999 --> 00:12:55.039 b 영역을 빼면 자연스럽게 밝게 빛나는 경계 값을 222 00:12:55.039 --> 00:12:57.159 우리가 찾아 줄 수가 있는 것이죠 223 00:12:57.159 --> 00:13:00.119 이렇게 디졸브 머티리얼은 만들어졌고요 224 00:13:00.119 --> 00:13:02.000 이것을 저장 하고요 225 00:13:02.000 --> 00:13:05.679 이 머트리얼을 인스턴스화 시키겠습니다 226 00:13:05.679 --> 00:13:07.919 머티리얼을 인스턴스로 만들어서 227 00:13:07.919 --> 00:13:10.599 나중에는 여러분들이 미리 보기 할 때 228 00:13:10.599 --> 00:13:14.499 이 파라미터 값 같은 것들이 나중에 인스턴스로 229 00:13:14.499 --> 00:13:17.200 혹은 색깔을 다르게 하고 싶다거나 할 때 230 00:13:17.200 --> 00:13:19.039 이런 것들을 바꾸고자 한다면 231 00:13:19.039 --> 00:13:24.000 여기에서 이미시브 컬러 값을 임의로 녹색으로도 바꿀 수 있다거나 232 00:13:24.000 --> 00:13:25.319 블루를 첨가한다거나 233 00:13:25.320 --> 00:13:28.087 이런 식의 변경이 가능하겠죠 234 00:13:28.087 --> 00:13:33.760 그래서 일부러 이런 식의 베리에이션을 위해서 인스턴스로 따로 만들어 둔 것이고요 235 00:13:33.760 --> 00:13:35.840 이제 우리가 해야 할 일은 236 00:13:35.840 --> 00:13:40.320 이 다이나믹 파라미터에 나이아가라를 통해서 접근해 가지고 237 00:13:40.320 --> 00:13:43.640 여기에 있는 값의 변화를 만들어 주도록 할 겁니다 238 00:13:43.640 --> 00:13:45.479 머티리얼은 준비가 되었으니까 239 00:13:45.479 --> 00:13:48.520 이제 나이아가라 에셋을 만들도록 하겠습니다 240 00:13:48.520 --> 00:13:50.039 브라우저 창에서 오른쪽 클릭 241 00:13:50.039 --> 00:13:52.640 나이아가라 시스템으로 클릭을 해 줍니다 242 00:13:52.640 --> 00:13:55.880 이번에는 템플릿을 이용할 건데요 243 00:13:55.880 --> 00:13:57.840 여기 있는 여러 가지 템플릿 중에 244 00:13:57.840 --> 00:14:02.559 블로잉 파티클이라고 하는 이쁘게 날아가는 파티클이 있습니다 245 00:14:02.559 --> 00:14:07.479 그래서 이걸 먼저 선택을 해서 Create 버튼을 눌러 주도록 하겠습니다 246 00:14:07.479 --> 00:14:13.359 그리고 나이아가라의 이름은 FX_Chair Dissolve로 만들어 주고요 247 00:14:13.359 --> 00:14:17.939 그러면 우리가 앞서서 선택한 블로잉 파티클이라고 하는 248 00:14:17.939 --> 00:14:23.400 이미터가 추가된 상태로 시스템이 생성이 된 것을 확인할 수가 있습니다 249 00:14:23.400 --> 00:14:28.719 우선은 불필요한 모듈들을 원래는 삭제를 해야 맞겠지만 250 00:14:28.719 --> 00:14:30.260 저 같은 경우에는 251 00:14:30.260 --> 00:14:34.480 여러분들이 화면을 보면서도 삭제된 것들을 확인하실 수 있게 252 00:14:35.440 --> 00:14:38.520 활성화되어 있는 걸 꺼놓고 진행을 하겠습니다 253 00:14:38.520 --> 00:14:44.640 우선 파티클 스폰 영역에 있는 Shape Location을 비활성화 시키고요 254 00:14:44.640 --> 00:14:49.760 그리고 Gravity Force라고 하는 것도 비활성화 시키겠습니다 255 00:14:49.760 --> 00:14:54.159 그러면 아래로 이렇게 날리던 꽃잎 같은 효과들이 256 00:14:54.159 --> 00:14:58.400 이제는 옆으로 이렇게 날리는 것들을 확인하실 수가 있죠 257 00:14:58.400 --> 00:15:03.719 그리고 여기에다가 파티클 스폰 영역 중에 플러스 버튼을 눌러서 258 00:15:03.719 --> 00:15:08.280 StaticMesh Location 모듈을 추가해 주겠습니다 259 00:15:08.280 --> 00:15:11.959 Static Mesh Location의 Preview Mesh 영역을 260 00:15:11.960 --> 00:15:17.640 sm_chair로 지정을 해 주면 이렇게 경고창이 하나가 뜹니다 261 00:15:17.640 --> 00:15:21.760 이 Static Mesh가 가지고 있는 여러가지 옵션들 중에 262 00:15:21.760 --> 00:15:27.059 CPU Access라고 하는 옵션이 현재 비활성화 되어 있어서 263 00:15:27.059 --> 00:15:28.919 문제가 된다는 뜻이고요 264 00:15:28.919 --> 00:15:32.640 이것을 Fix Now 버튼을 눌러서 고쳐 주시면 됩니다 265 00:15:32.640 --> 00:15:37.080 자 여기에서 Initial Mesh Orientation도 잠시 끄고 266 00:15:37.080 --> 00:15:41.200 그리고 여기서 Wind Force라던가 이런 것들을 꺼가지고 267 00:15:41.200 --> 00:15:48.719 현재 우리가 추가한 StaticMesh Orientation의 역할에 대해서 보여드리면 268 00:15:48.719 --> 00:15:52.320 언뜻 보면 의자의 형상이 보이죠 269 00:15:52.320 --> 00:15:57.000 움직임이 있어서 제대로 형태 파악이 좀 어려웠었겠지만 270 00:15:57.000 --> 00:16:00.039 지금 보시는 것처럼 StaticMesh Location은 271 00:16:00.039 --> 00:16:05.320 Mesh 자체를 파티클이 스폰 되는 영역으로서 쓰일 수가 있습니다 272 00:16:05.320 --> 00:16:09.200 그래서 이걸 통해서 의자의 외형에 맞춰 가지고 273 00:16:09.200 --> 00:16:13.640 파티클 입자들이 자연스럽게 생성돼서 사라질 수 있게끔 274 00:16:13.640 --> 00:16:15.960 이렇게 설정을 해 놓은 것이고요 275 00:16:15.960 --> 00:16:20.320 여기에서 Emitter를 차근차근 바꿔 주도록 하겠습니다 276 00:16:20.320 --> 00:16:25.080 지금 Emitter같은 경우에는 24시간 쉬지 않고돌아가는 277 00:16:25.080 --> 00:16:27.840 인피니티의 형태로 세팅이 되어 있습니다 278 00:16:27.840 --> 00:16:32.159 이것을 딱 한 번만 작동하게끔 둘겁니다 279 00:16:32.159 --> 00:16:38.320 그리고 반복되지 않으니까 딱 5초 동안만 가동되게끔 해놨고요 280 00:16:38.320 --> 00:16:42.159 그리고 스폰 레이트 값은 현재 15로 되어 있는데 281 00:16:42.159 --> 00:16:48.159 이것을 초당 100개씩 생성하게끔 개수를 더 많이 늘리도록 할 겁니다 282 00:16:48.159 --> 00:16:53.520 Initialize Particle 항목에서는 라이프 타임이 현재 12초로 굉장히 긴데 283 00:16:53.520 --> 00:16:57.640 이것을 Minimum 3초에서 최대 5초까지로 284 00:16:57.640 --> 00:16:59.080 입자가 짧게 285 00:16:59.080 --> 00:17:03.719 금방 사라질 수 있도록 수정을 해 놨고요 286 00:17:03.719 --> 00:17:05.200 시작할 때 컬러는 287 00:17:05.200 --> 00:17:08.599 우리가 앞서 Material에서 Red 색상 288 00:17:08.599 --> 00:17:13.839 RGB에서 Red, Green 0, Blue 0으로 기본 값을 이렇게 해 놨었죠 289 00:17:13.839 --> 00:17:16.560 여기에다가 곱하기 8을 했었습니다 290 00:17:16.560 --> 00:17:20.702 이것은 Dynamic Parameter에서 알파 채널에 해당하는 291 00:17:20.703 --> 00:17:24.547 이미시브 파워값을 8로 설정을 해서 292 00:17:24.547 --> 00:17:27.680 결과적으로는 Red가 8인 상태 293 00:17:27.680 --> 00:17:31.359 그래서 밝게 빛나는 상태로 계산을 했었는데요 294 00:17:31.359 --> 00:17:33.000 그거랑 유사한 값이 되게 295 00:17:33.000 --> 00:17:38.719 Red가 8, Y는 1, Green은 1, Blue는 0.2 이렇게 해가지고 296 00:17:38.719 --> 00:17:41.980 약간 완전히 새빨간 색이 아니라 297 00:17:41.981 --> 00:17:46.485 살짝 붉은 기가 강하게 도는 컬러로 바꿔 줬습니다 298 00:17:46.485 --> 00:17:50.440 그리고 나서 이 사이즈 자체가 조금 크기 때문에 299 00:17:50.440 --> 00:17:55.419 이것을 2에서 5 사이의 사이즈로 바꿔서 조금 작은 300 00:17:55.419 --> 00:17:59.280 마치 꽃잎과 같은 형태로 인식될 수 있게끔 301 00:17:59.280 --> 00:18:01.380 이게 Particle 자체가 302 00:18:01.380 --> 00:18:04.920 만약에 앞서서 원래 값이었던 4에서 8이라고 한다면 303 00:18:04.920 --> 00:18:08.079 일반적으로 꽃잎이라고 보기에는 조금 크죠 304 00:18:08.079 --> 00:18:12.640 그래서 약간 꽃잎 같이 느껴지게끔 사이즈를 줄여 가지고 305 00:18:12.640 --> 00:18:16.280 이렇게 조금 더 자잘한 이미지로 만들어 줬습니다 306 00:18:16.280 --> 00:18:18.700 그리고 나서 Wind Force의 값을 307 00:18:18.700 --> 00:18:27.119 단순히 너무 강하게 날려서 의자의 형태가 안 보이면 효과를 제작하기 어렵겠죠 308 00:18:27.119 --> 00:18:29.619 그래서 이 Wind Force에서 X축 309 00:18:29.619 --> 00:18:32.899 앞으로 날아가는 값은 20으로 줄여서 310 00:18:32.899 --> 00:18:39.599 처음에 생성이 될 때 의자의 형태가 사람들에게 인식될 수 있게끔 해 놓고요 311 00:18:39.599 --> 00:18:41.400 그리고 앞으로 날아가는 게 아니라 312 00:18:41.400 --> 00:18:46.399 약간 위로 타오르면서 불꽃처럼 사그라들듯이 표현되도록 313 00:18:46.399 --> 00:18:49.719 Z값을 50으로 바꿔 놓도록 하겠습니다 314 00:18:49.719 --> 00:18:55.119 그러면 지금 보시는 것처럼 입자가 사라라락 하면서 생겨났다가 315 00:18:55.119 --> 00:18:58.079 초반에 의자의 형상이 어느 정도 보였다가 316 00:18:58.079 --> 00:19:02.280 사라락하고 사라지는 형태를 보실 수가 있죠 317 00:19:02.280 --> 00:19:09.560 자 제가 수정한 값들이 있는 이 모듈들만 선택해서 보여드리면 이렇게 됩니다 318 00:19:09.560 --> 00:19:12.520 Emitter 스테이트,스폰레이트 값도 바꿨죠 319 00:19:12.520 --> 00:19:14.800 순서대로 나오게 하면 이렇게 되겠네요 320 00:19:14.800 --> 00:19:19.560 이펙트는 현재 이 Particle은 이 정도까지만 하겠습니다 321 00:19:19.560 --> 00:19:25.199 그래서 제가 바꾼 Particle에 대한 묘사는 이 정도까지만 하겠습니다 322 00:19:25.199 --> 00:19:29.479 물론 이 안에는 메시 오리엔테이션 이라던가 이런 것들을 통해서 323 00:19:29.479 --> 00:19:34.179 앞서서 설명하지 않은 빌보드가 아닌 형식으로 324 00:19:34.179 --> 00:19:37.879 이렇게 자세히 보면 입자들이 회전을 하게끔 325 00:19:37.879 --> 00:19:40.799 스프라이트를 회전시키는 기능이라던가 326 00:19:40.799 --> 00:19:44.040 이런 것들이 더 추가가 되어 있습니다 327 00:19:44.040 --> 00:19:45.640 이런 것들이 추가되어 있어서 328 00:19:45.640 --> 00:19:50.040 이런 것들은 나중에 여러분들이 효과를 껐다 켰다 해보면서 329 00:19:50.040 --> 00:19:52.400 어울리는 효과 같은 것들을 생각해 보시면 330 00:19:52.400 --> 00:19:55.479 어떻게 사용했는지 확인해 보시면 좋을 것 같고요 331 00:19:55.479 --> 00:19:59.079 정리하면서 우선은 Emitter, 스폰레이트 332 00:19:59.079 --> 00:20:04.239 Initialize Particle, StaticMesh Location, 그리고 Wind Force까지 333 00:20:04.239 --> 00:20:11.719 제가 세부적인 Parameter 값을 바꾼 모듈들을 한 번에 쭉 선택해 보여드리면서 334 00:20:11.719 --> 00:20:13.479 이거는 마무리 하겠습니다 335 00:20:13.479 --> 00:20:16.359 이번에는 또 다른 모듈을 추가할 건데 336 00:20:16.359 --> 00:20:19.239 이번엔 Particle을 위한 모듈이 아니고요 337 00:20:19.239 --> 00:20:21.719 의자를 보여주기 위해서 만들 겁니다 338 00:20:21.719 --> 00:20:27.640 현재는 의자의 실루엣에 맞춰서 Particle은 생성되지만 의자 자체가 보이지는 않죠 339 00:20:27.640 --> 00:20:32.199 우선은 오른쪽 클릭해서 Add Emitter를 눌러줍니다 340 00:20:32.199 --> 00:20:38.000 그리고 여기에서 보면 Single Looping Particle 이라고 하는 템플릿이 있습니다 341 00:20:38.000 --> 00:20:41.400 이것을 Add 버튼을 클릭해서 추가해 줍니다 342 00:20:41.400 --> 00:20:46.880 그러면 화면상에 흰색의 Particle이 생성된 것을 확인하실 수가 있죠 343 00:20:46.880 --> 00:20:52.479 이번에도 사용하지 않을 모듈을 비활성화 해 줄 건데 344 00:20:52.479 --> 00:20:57.439 이번에는 메쉬를 쓸 것이기 때문에 스프라이트 렌더러를 꺼 줄 겁니다 345 00:20:57.439 --> 00:21:00.599 그렇게 되면 현재 눈에 보이는 게 아무것도 없죠 346 00:21:00.599 --> 00:21:04.199 렌더러에서 메쉬 렌더러를 추가해 주겠습니다 347 00:21:04.199 --> 00:21:08.199 이 메쉬 렌더러에 우리가 의자를 추가할 건데요 348 00:21:08.199 --> 00:21:09.719 메쉬를 클릭하고 349 00:21:09.719 --> 00:21:15.239 현재는 기즈모의 형태의 메쉬가 등록된 것을 확인하실 수가 있죠 350 00:21:15.239 --> 00:21:17.560 화살표 모양의 기즈모 351 00:21:17.561 --> 00:21:19.232 이걸 보실 수가 있는데 352 00:21:19.232 --> 00:21:23.760 메쉬를 열어 가지고 언더바 체어를 검색해 줍니다 353 00:21:23.760 --> 00:21:31.199 그래서 이 체어를 등록해 주시면 의자가 눈으로 확인할 수 있게 되죠 354 00:21:31.199 --> 00:21:37.040 그럼 지금과 같은 상태에서 이 의자가 가지고 있는 기본 Material이 보이게 되는데 355 00:21:37.040 --> 00:21:39.119 우리는 이걸 사용할 게 아니죠 356 00:21:39.119 --> 00:21:42.479 Material을 Dissolve Material로 바꿔 줘야 됩니다 357 00:21:42.479 --> 00:21:47.880 현재는 StaticMesh Editor에서 기본 설정되어 있는 Material 값이 보이는 거고 358 00:21:47.880 --> 00:21:52.319 Material 값을 새로운 걸 사용하기 위해서 359 00:21:52.319 --> 00:21:57.040 바로 밑에 있는 Material Override 항목을 활성화해 줍니다 360 00:21:57.040 --> 00:22:03.839 그럼 아래쪽에 Override Material을 플러스 버튼이 클릭할 수 있는 형태로 활성화가 됩니다 361 00:22:03.839 --> 00:22:06.719 이 플러스 버튼을 눌러 가지고 열어 보면 362 00:22:06.719 --> 00:22:12.199 인덱스 항목에서 우리가 임의로 지정한 Material을 덮어 씌워서 363 00:22:12.199 --> 00:22:17.880 기존에 있던 Material 대신 보여 줄 수 있게끔 설정을 할 수 있습니다 364 00:22:17.880 --> 00:22:23.599 그래서 우리는 여기에서 M Chair Dissolve로 연결해 주도록 하겠습니다 365 00:22:23.599 --> 00:22:26.119 이렇게 Dissolve의 형태로 보이게 되죠 366 00:22:26.119 --> 00:22:32.640 이제 우리는 Material이 가지고 있는 다이나믹 파라미터에 접근을 해야 되기 때문에 367 00:22:32.640 --> 00:22:35.839 업데이트 항목에서 플러스 버튼을 눌러서 368 00:22:35.839 --> 00:22:41.359 다이나믹 Material 파라미터 모듈을 업데이트에 추가해 줄 겁니다 369 00:22:41.359 --> 00:22:43.359 업데이트에다가 추가하는 이유는 370 00:22:43.359 --> 00:22:48.400 시간이 지남에 따라서 서서히 사라지거나 색이 바뀌거나 해야 되니까 371 00:22:48.400 --> 00:22:50.359 이렇게 추가를 해 준 것이구요 372 00:22:50.359 --> 00:22:54.959 이미 이 Emitter 자체에 설정되어 있는 Material에 373 00:22:54.959 --> 00:22:56.660 여기 Material이 있죠 374 00:22:56.660 --> 00:23:02.020 다이나믹 Material이 있는 데이터가 Emitter에 바로 연결이 되기 때문에 375 00:23:02.020 --> 00:23:04.319 우리가 별도의 어떤 세팅을 하지 않아도 376 00:23:04.319 --> 00:23:10.880 지금 보시는 것처럼 파라미터의 이름들이 자동으로 리스트업 된 것을 확인할 수가 있구요 377 00:23:10.880 --> 00:23:16.439 현재는 우리가 미리 Material에 설정해 놨던 기본 값들은 무시가 되고 378 00:23:16.439 --> 00:23:20.319 모듈에서 설정되어 있는 값들이 등록이 되어 있습니다 379 00:23:20.319 --> 00:23:24.839 만약에 여기에서 노이즈 스케일 값을 키워주게 되면 380 00:23:24.839 --> 00:23:30.439 지금 보시는 것처럼 노이즈의 크기를 임의로 변경할 수가 있구요 381 00:23:30.439 --> 00:23:33.079 Dissolve Value 값을 키우게 되면 382 00:23:33.079 --> 00:23:39.359 사라지고 나타나고, 사라지고 나타나고를 컨트롤 해 줄 수 있습니다 383 00:23:39.359 --> 00:23:45.000 당연히 이미시브 파워로 엣지 값이 0 이니까 경계가 안 보이는데 384 00:23:45.000 --> 00:23:47.239 엣지 값을 살짝 놔둔 후에 385 00:23:47.239 --> 00:23:51.119 이미시브 파워를 강하게 어떻게 세팅 하느냐에 따라서 386 00:23:51.119 --> 00:23:55.359 지금 보는 것처럼 우리가 했던 8 이라는 값을 넣게 되면 387 00:23:55.359 --> 00:23:56.539 지금 보시는 것처럼 388 00:23:56.540 --> 00:24:00.792 이렇게 사라지는 경계 부분이 빛나는 것을 확인하실 수가 있죠 389 00:24:00.792 --> 00:24:05.319 엣지의 두께도 우리가 임의로 더 넓게 보이게 하거나 390 00:24:05.319 --> 00:24:07.339 더 좁게 보이게 하거나 391 00:24:07.340 --> 00:24:10.540 이런 것들도 수정이 가능합니다 392 00:24:10.540 --> 00:24:14.880 그래서 이 값이 단일 값으로 쓰이는 게 아니구요 393 00:24:14.880 --> 00:24:18.161 경우에 따라서 노이즈 같은 경우에는 단일 값으로 394 00:24:18.161 --> 00:24:21.609 0.01 정도로 둘 수 있겠으나 395 00:24:21.609 --> 00:24:26.640 Dissolve Value 같은 경우에는 완전히 온전하게 보이는 상태에서 396 00:24:26.640 --> 00:24:29.599 서서히 사라지게끔 해야 되기 때문에 397 00:24:29.599 --> 00:24:31.920 이 값이 단일 값이면 안 되는 거죠 398 00:24:31.920 --> 00:24:37.000 그래서 값의 타입을 값의 오른쪽에 있는 아래쪽 화살표를 눌러서 399 00:24:37.000 --> 00:24:41.000 Float From Curve를 통해서 값을 바꿔 줄 겁니다 400 00:24:41.000 --> 00:24:42.939 지금 보시면 라이프 타임 401 00:24:42.939 --> 00:24:47.001 이 Particle 입자가 가지고 있는 라이프 타임에 맞춰 가지고 402 00:24:47.001 --> 00:24:49.009 10초라는 라이프 타임에 맞춰서 403 00:24:49.009 --> 00:24:50.860 시작할 때는 1이였다가 404 00:24:50.860 --> 00:24:55.000 100% 10초가 다 흘렀을 때는 0이 되게끔 해서 405 00:24:55.001 --> 00:24:56.121 우리가 원하는 406 00:24:56.121 --> 00:24:59.880 보여지는 상태에서 서서히 사라지는 게 아니라 407 00:24:59.880 --> 00:25:04.439 안 보이는 상태에서 서서히 나타나듯이 표현이 되고 있죠 408 00:25:04.439 --> 00:25:09.319 그래서 이 그래프의 형태를 역방향으로 뒤집어 줄 겁니다 409 00:25:09.319 --> 00:25:12.400 우선 템플릿을 통해서 뒤집는데 410 00:25:12.400 --> 00:25:17.419 여기가 0이 되면 온전하게 보이는 상태는 아니기 때문에 411 00:25:17.819 --> 00:25:22.679 잠시 줌을 눌러서 그래프를 화면에 맞게 두고요 412 00:25:22.679 --> 00:25:28.760 시간이 0%일 때 Value 값을 마이너스 2 정도로 두고 413 00:25:28.760 --> 00:25:32.160 보이는 것에서 사라지게끔 만들어 줄 겁니다 414 00:25:32.160 --> 00:25:37.680 마찬가지로 시간이 100%일 때 Value 값을 2로 두고 415 00:25:37.680 --> 00:25:40.439 1까지만 하면 완전히 사라지지 않기 때문에 416 00:25:40.439 --> 00:25:41.919 완전히 사라질 수 있게끔 417 00:25:41.920 --> 00:25:44.520 지금 보는 것처럼 이렇게 사라질 수 있게끔 418 00:25:44.520 --> 00:25:46.219 다시 한번 줌을 눌러서 419 00:25:46.219 --> 00:25:48.600 마이너스 2에서 2까지 420 00:25:48.600 --> 00:25:53.800 값이 시간에 따라서 서서히 바뀌게끔 표현을 해봤습니다 421 00:25:53.800 --> 00:25:56.280 여기에서 여러분들이 원하신다면 422 00:25:56.280 --> 00:26:00.359 중간에 커브의 형태를 Auto로 바꿔서 423 00:26:00.359 --> 00:26:04.859 사라지는 속도에 대한 변화도 만들어 줄 수가 있겠죠 424 00:26:04.859 --> 00:26:08.560 빨리 사라지다가 서서히 천천히 바뀌게끔 한다던가 425 00:26:08.560 --> 00:26:11.079 아니면 이 커브에 반대되는 형태로 426 00:26:11.079 --> 00:26:13.999 이런 식으로 경사가 급해질수록 427 00:26:13.999 --> 00:26:17.880 변화가 많아진다는 뜻으로 이해하셔도 됩니다 428 00:26:17.880 --> 00:26:21.199 이거는 여러분들이 한 번 재미있는 효과나 429 00:26:21.199 --> 00:26:24.800 이런 것들을 만들어 보시는 것도 좋을 것 같습니다 430 00:26:24.800 --> 00:26:25.580 이런 식으로 431 00:26:25.580 --> 00:26:29.339 그래서 여러분들께서 이런 식의 그래프를 통해서 432 00:26:29.339 --> 00:26:31.599 시간에 따라서 어떻게 바뀌는지 433 00:26:31.599 --> 00:26:34.319 이런 것들을 제어해 보시면 좋을 것 같고요 434 00:26:34.319 --> 00:26:36.740 현재는 이 이펙트 자체 435 00:26:36.740 --> 00:26:41.760 Blowing Particle 자체가 공장 라인의 가동시간은 5초이고 436 00:26:41.760 --> 00:26:47.319 그리고 Particle 입자의 라이프 타임은 최대 5초입니다 437 00:26:47.319 --> 00:26:48.199 최대 5초 438 00:26:48.199 --> 00:26:50.680 그러면 어떤 일이 발생하냐면 439 00:26:50.680 --> 00:26:53.479 공장에서 5초 동안 만들었던 440 00:26:53.479 --> 00:27:00.079 5초 때 만들어진 Particle이 추가로 5초 동안 라이프 타임을 가지고 살아가게 되니까 441 00:27:00.079 --> 00:27:02.040 이때 뿅 하고 사라지게 되겠죠 442 00:27:02.040 --> 00:27:06.099 그래서 이 Blowing Particle은 10초라고 하는 443 00:27:06.099 --> 00:27:10.680 전체 최대의 보여지는 시간이 10초 정도로 예상이 됩니다 444 00:27:10.680 --> 00:27:17.359 근데 이 Single Looping Particle의 기본 입자의 시간이 10초로 되어 있습니다 445 00:27:17.359 --> 00:27:18.079 10초 446 00:27:18.079 --> 00:27:21.880 이렇게 된다면 입자들이 다 사라지고 난 다음에도 447 00:27:21.880 --> 00:27:24.160 계속해서 남아 있게 되겠죠 448 00:27:24.160 --> 00:27:27.880 의자가 사라진 모습이 완전히 없어지지 않고 449 00:27:27.880 --> 00:27:31.040 지금처럼 약간 남아 있는 형태가 될 건데 450 00:27:31.040 --> 00:27:35.040 이거는 여러분들이 제어할 수 있는 방법이 여러 가지가 있습니다 451 00:27:35.040 --> 00:27:40.760 첫 번째로는 이 Dynamic Parameter의 그래프를 직선으로 바꾸겠습니다 452 00:27:40.760 --> 00:27:42.839 Linear 형태로 바꿔주고 453 00:27:42.839 --> 00:27:45.839 마찬가지로 Linear 형태로 바꿔주고 454 00:27:45.839 --> 00:27:48.359 라이프 타임 동안 100% 살아라가 아니라 455 00:27:48.359 --> 00:27:49.680 절반만 살아라 456 00:27:49.680 --> 00:27:52.640 절반동안만 값을 빠르게 바꿔줘라 457 00:27:52.640 --> 00:27:54.680 이런 식으로 바꾸는 방법도 있구요 458 00:27:54.680 --> 00:27:58.079 추가로 뭐 여기에서 임의로 5초를 해주면 되는데 459 00:27:58.079 --> 00:28:00.680 매번 이런 하나의 값이 460 00:28:00.680 --> 00:28:02.220 여기도 5초 461 00:28:02.220 --> 00:28:05.239 Blowing Particle도 ,이미터 타임도 5초 462 00:28:05.239 --> 00:28:07.099 이런 식으로 하나만 바꿔도 463 00:28:07.099 --> 00:28:10.419 나머지가 한 번에 바뀌면 관리하기가 편하겠죠 464 00:28:10.419 --> 00:28:14.160 이런 식으로 개별의 값들을 바꾸는 게 아니고 465 00:28:14.160 --> 00:28:19.760 하나의 값을 통해서 전체적으로 제어가 쉽게 할 수 있는 방법에 대해서 466 00:28:19.760 --> 00:28:21.839 한 번 알려드리겠습니다 467 00:28:21.839 --> 00:28:25.439 우선 Initialize Particle의 Lifetime을 468 00:28:25.439 --> 00:28:30.160 Emitter State와 같은 값을 가지게끔 연결을 해 줄 겁니다 469 00:28:30.160 --> 00:28:34.319 만약에 Lifetime의 화살표 아래쪽 화살표를 눌러서 470 00:28:34.319 --> 00:28:37.680 여기에서 Emitter에 있는 Looping Duration 471 00:28:37.680 --> 00:28:41.000 Current Looping Duration을 선택하게 되면 472 00:28:41.000 --> 00:28:46.680 이제 Particle 입자의 Lifetime이 Emitter State와 동기화가 된 겁니다 473 00:28:46.680 --> 00:28:49.040 이렇게 State와 동기화가 된 거고 474 00:28:49.040 --> 00:28:52.400 그러면 이 두 개의 State값을 서로 475 00:28:52.400 --> 00:28:55.280 여기 보면 Single Looping의 State값과 476 00:28:55.280 --> 00:28:58.439 Blowing Particle의 State값이 서로 다르죠 477 00:28:58.439 --> 00:29:02.920 이것을 동기화하기 위해서는 User Parameter 항목으로 좀 가야 됩니다 478 00:29:02.920 --> 00:29:05.359 User Parameter에서 Plus 버튼 479 00:29:05.359 --> 00:29:07.660 Make New에서 Common 480 00:29:07.661 --> 00:29:09.987 그리고 플롯을 선택합니다 481 00:29:10.000 --> 00:29:15.520 이 Parameter의 이름을 Share Loop Duration이라고 지어 주도록 하고 482 00:29:15.520 --> 00:29:19.280 기본 값을 5라고 설정을 해주겠습니다 483 00:29:19.280 --> 00:29:22.400 자, 이것을 앞서 했던 것과 같은 요령으로 484 00:29:22.400 --> 00:29:26.560 Blowing Particle의 Emitter State, Loop Duration 항목을 485 00:29:26.560 --> 00:29:27.920 아래쪽 화살표 눌러서 486 00:29:27.920 --> 00:29:31.119 ShareLoop Duration이라고 검색을 하면 487 00:29:31.119 --> 00:29:37.079 User Parameter 항목의 내용이 검색이 되면서 연결해 줄 수가 있게 됩니다 488 00:29:37.079 --> 00:29:38.359 연결이 되었죠 489 00:29:38.359 --> 00:29:43.019 마찬가지 맥락으로 Single Looping의 Emitter State 항목도 490 00:29:43.019 --> 00:29:45.439 Lifecycle 모드를 Self로 491 00:29:45.439 --> 00:29:48.319 그리고 Loop Behavior는 Once로 492 00:29:48.319 --> 00:29:52.400 Duration 값은 ShareLoop Duration으로 493 00:29:52.400 --> 00:29:55.560 이 아래쪽 화살표를 눌러서 연결을 해 주게 되면 494 00:29:55.560 --> 00:29:58.699 이 Share에 있는 이 값들이 모두 다 495 00:29:58.699 --> 00:30:04.920 각각의 Emitter State 항목들의 Loop Duration과 연동이 된 겁니다 496 00:30:04.920 --> 00:30:07.880 그러면 저는 하나의 값만 바꾸더라도 497 00:30:07.880 --> 00:30:13.400 Emitter State에 있는 값이 또 Particle의 Lifetime하고도 연결이 되어 있었죠 498 00:30:13.400 --> 00:30:19.959 이런 식으로 하나의 값을 통해서 여러 개의 Emitter의 값들을 제어할 수 있게 된 겁니다 499 00:30:19.959 --> 00:30:26.400 같은 맥락으로 우리가 앞서서 Material과 Material Instance를 만들었습니다 500 00:30:26.400 --> 00:30:32.239 여기 보면 현재 우리가 Mesh Render에 연결된 것은 Material이죠 501 00:30:32.239 --> 00:30:36.400 이것을 그대로 Material에 연결을 해 주게 되면 502 00:30:36.400 --> 00:30:37.640 연결해 보겠습니다 503 00:30:37.640 --> 00:30:42.239 이제 우리는 Material이 아닌 Material Instance를 연결했습니다 504 00:30:42.239 --> 00:30:48.880 이 Instance 창을 보게 되면 Dynamic Parameter 항목은 눈에 보이지 않죠 505 00:30:48.880 --> 00:30:52.239 반면에 Dynamic Material Parameter에서는 506 00:30:52.239 --> 00:30:55.679 Material이 가지고 있던 Noise Scale, Loop Value, 507 00:30:55.679 --> 00:30:58.760 이러한 값들이 그대로 전달이 되고 508 00:30:58.760 --> 00:31:04.520 실제로 의자에 적용이 돼서 작동을 하는 데는 아무 문제가 없습니다 509 00:31:04.520 --> 00:31:08.160 그래서 우리가 유저의 Parameter를 이용해 가지고 510 00:31:08.160 --> 00:31:12.439 여러 군데 공유를 해줬던 이러한 연결 관계들이 511 00:31:12.439 --> 00:31:15.239 이 Initial Particle에도 연결을 해 줬죠 512 00:31:15.239 --> 00:31:17.680 Material에서 Instance로 513 00:31:17.680 --> 00:31:20.640 그리고 Instance는 Mesh Render로 514 00:31:20.640 --> 00:31:23.719 그리고 마지막으로 Dynamic Parameter로 515 00:31:23.719 --> 00:31:29.119 단순히 나이아가라 시스템 끼리 데이터 연동이 되는 것뿐만 아니라 516 00:31:29.119 --> 00:31:34.940 외부 애셋과도 연결이 계속해서 이어지는 것을 확인할 수가 있습니다 517 00:31:34.940 --> 00:31:38.960 나이아가라 제어를 위한 블루프린트 설정 518 00:31:38.960 --> 00:31:44.000 이제는 예제의 마무리로 Blueprint와 나이아가라 519 00:31:44.000 --> 00:31:47.680 그리고 Static Mesh 이 세 가지를 엮어서 520 00:31:47.680 --> 00:31:51.319 효과를 제어하는 방법에 대해서 다뤄보겠습니다 521 00:31:51.319 --> 00:31:55.760 우선 블루프린트를 애셋을 하나 만들어 주도록 하겠습니다 522 00:31:55.760 --> 00:31:59.280 블루프린트의 기본 클래스는 Actor로 할 겁니다 523 00:31:59.280 --> 00:32:04.719 그리고 이름을 BP_Dissolve로 먼저 생성해 두도록 하고요 524 00:32:04.719 --> 00:32:07.839 더블 클릭해서 블루프린트 창을 열도록 하겠습니다 525 00:32:07.839 --> 00:32:12.839 일반적으로 블루프린트는 크게 보면 두 가지 역할을 가지고 있죠 526 00:32:12.839 --> 00:32:16.280 하나는 그룹을 만들어 주는 역할이 있습니다 527 00:32:16.280 --> 00:32:20.160 또 다른 역할로는 프로그래밍을 하는 역할이 있죠 528 00:32:20.160 --> 00:32:22.239 그룹을 만들 때는 일반적으로 529 00:32:22.239 --> 00:32:25.000 서로 성질이 다른 종류의 액터들 530 00:32:25.000 --> 00:32:30.359 이를테면 나이아가라에서 여러가지 이미터를 묶어 줬던 것처럼 531 00:32:30.359 --> 00:32:35.599 우리는 Static Mesh와 나이아가라를 이용해서 엮어 줄 것이고요 532 00:32:35.599 --> 00:32:38.500 이것을 간단한 프로그래밍을 통해서 533 00:32:38.500 --> 00:32:42.641 인터랙션으로 이 두 가지를 껐다 켰다 하는 534 00:32:42.641 --> 00:32:45.827 간단한 제어 방식을 활용해 볼 겁니다 535 00:32:45.827 --> 00:32:48.520 특히 나이아가라 같은 경우에는 536 00:32:48.520 --> 00:32:50.800 유저들이 어떠한 상황에 따라서 537 00:32:50.800 --> 00:32:53.680 유저 행동에 대한 리액션을 보여주기 때문에 538 00:32:53.680 --> 00:32:55.680 우리가 원하는 상황에 맞춰서 539 00:32:55.680 --> 00:32:59.920 이펙트를 발현시키거나 끄거나 할 수 있어야겠죠 540 00:32:59.920 --> 00:33:03.439 우선은 컴포넌트 구성부터 맞춰 보도록 할 겁니다 541 00:33:03.439 --> 00:33:07.359 Add를 눌러서 StaticMesh 컴포넌트를 추가해 줍니다 542 00:33:07.359 --> 00:33:09.359 여기 Static Mesh 항목에는 543 00:33:09.359 --> 00:33:12.359 가장 기본이 되는 sm_chair 544 00:33:12.359 --> 00:33:15.359 이것을 먼저 설치를 할 겁니다 545 00:33:15.359 --> 00:33:18.000 그리고 또 다른 것은 플러스 버튼을 눌러서 546 00:33:18.000 --> 00:33:23.719 나이아가라 파티클 시스템 이라고 하는 컴포넌트도 추가해 줄 겁니다 547 00:33:23.719 --> 00:33:27.699 StaticMesh에 생성하고 나서 추가된 컴포넌트들이 548 00:33:27.699 --> 00:33:33.680 보통 직전에 생성한 컴포넌트의 자식으로 생기는 경우들이 있는데 549 00:33:33.680 --> 00:33:37.199 지금은 뭐 위치상 크게 상관은 없고 550 00:33:37.199 --> 00:33:40.520 만약에 이 부모 자식 관계가 이렇게 되어 있는 것은 551 00:33:40.520 --> 00:33:44.439 Root에다가 다시 드래그해서 Attach 항목을 해주시면 552 00:33:44.439 --> 00:33:48.880 이렇게 서로가 분리돼서 나이아가라가 따로 움직인다던가 553 00:33:48.880 --> 00:33:51.359 StaticMesh가 따로 움직인다던가 554 00:33:51.359 --> 00:33:53.959 별도의 각각 제어를 할 수 있게 되죠 555 00:33:53.959 --> 00:33:56.839 자,이 나이아가라에는 우리가 만들었던 556 00:33:56.839 --> 00:34:01.640 FX_Chair Dissolve를 연결하도록 하겠습니다 557 00:34:01.640 --> 00:34:03.359 자 이렇게 됐죠 558 00:34:03.359 --> 00:34:07.680 Add 버튼을 눌러서 Box Collision을 추가해 줄 겁니다 559 00:34:07.680 --> 00:34:11.479 마찬가지로 다시 Root에다가 끌어 넣어서 Attach 해 주겠습니다 560 00:34:11.479 --> 00:34:13.280 이 Box Collision이 하는 일은 561 00:34:13.280 --> 00:34:17.359 유저들, 유저가 조작하는 플레이어, 플레이어 캐릭터가 562 00:34:17.359 --> 00:34:22.199 이 의자에 가까이 접근을 했을 때 서서히 사라지게 만드는 것을 563 00:34:22.199 --> 00:34:24.399 감지하는 역할을 하게 될 겁니다 564 00:34:24.399 --> 00:34:27.520 그래서 간단하게 Scale을 이용해서 565 00:34:27.520 --> 00:34:33.520 크기라던가 이런 것들을 임의로 여러분들이 키워 주시면 되구요 566 00:34:33.520 --> 00:34:37.479 자 이러면은 컴포넌트 구성이 끝났고 567 00:34:37.479 --> 00:34:40.360 지금은 의자가 보이고 있고 568 00:34:40.360 --> 00:34:42.919 그 다음에 나이아가라가 있죠 569 00:34:42.919 --> 00:34:45.360 두 개가 동시에 보이는 상황입니다 570 00:34:45.360 --> 00:34:49.280 그래서 우리는 Box에 유저들이 접근을 하게 되면 571 00:34:49.280 --> 00:34:53.159 유저가 컨트롤하는 캐릭터가 접근을 하게 되면 572 00:34:53.159 --> 00:34:59.439 StaticMesh를 비활성화해서 잠시 꺼둔 다음에 나이아가라를 실행시키게 될 겁니다 573 00:34:59.439 --> 00:35:01.439 우선 Compile을 눌러서 574 00:35:01.439 --> 00:35:06.399 기본적으로 이 세 가지 컴포넌트들이 잘 인식되도록 만들어 주고요 575 00:35:06.399 --> 00:35:11.439 이 다음으로는 이벤트 그래프 항목에서 간단한 프로그래밍을 해 볼 겁니다 576 00:35:11.439 --> 00:35:15.200 우선은 처음에 시작할 때 Particle이 마음대로 577 00:35:15.201 --> 00:35:17.585 스스로 사라져 버리면 안 되겠죠 578 00:35:17.585 --> 00:35:21.840 그래서 우리가 취해 줘야 될 조치는 두 가지가 있는데요 579 00:35:21.840 --> 00:35:27.679 우선은 여기에서 보면 흐릿하지만 Begin Play라고 하는 이벤트 노드가 있습니다 580 00:35:27.679 --> 00:35:32.360 Begin Play, 액터가 월드상에 처음 배치가 되거나 581 00:35:32.360 --> 00:35:36.719 혹은 이미 배치가 되어 있는 것이 시뮬레이트 버튼을 눌렀을 때 582 00:35:36.719 --> 00:35:40.479 이때 한 번 딱 신호가 전달이 되는 노드인데요 583 00:35:40.479 --> 00:35:44.120 나이아가라 컴포넌트를 드래그해서 끌고 오겠습니다 584 00:35:44.120 --> 00:35:49.320 한마디로 시작할 때 나이아가라의 액티브가 비활성화 되게끔 585 00:35:49.320 --> 00:35:53.600 액티브 상태가 비활성화가 되게끔 먼저 설정을 해 둡니다 586 00:35:53.600 --> 00:35:56.000 Set Active라는 노드를 이용해서 587 00:35:56.000 --> 00:35:59.040 New Active라고 하는 체크박스 보이죠 588 00:35:59.040 --> 00:36:04.000 이 체크박스를 비활성화 시켜서 꺼지게 만들어 두고요 589 00:36:04.000 --> 00:36:07.199 이 나이아가라 컴포넌트 자체에서도 보면 590 00:36:07.239 --> 00:36:11.239 기본적으로는 오토 액티브가 활성화되어 있습니다 591 00:36:11.239 --> 00:36:14.040 그래서 이것도 꺼주도록 할겁니다 592 00:36:14.040 --> 00:36:21.320 이제 유저가 우리가 만든 블루프린트에 부딪혔다 라는 신호를 주는 Begin Overlap, 593 00:36:21.320 --> 00:36:24.600 Actor Begin Overlap이라는 노드에다가는 594 00:36:24.600 --> 00:36:30.199 나이아가라와 Set Active 노드를 Ctrl-C, Ctrl-V를 해서 595 00:36:30.199 --> 00:36:32.600 복사를 해 준 후에 연결을 해 주고요 596 00:36:32.600 --> 00:36:38.199 그리고 여기 액티브를 활성화 해 주고 Reset도 활성화 합니다 597 00:36:38.199 --> 00:36:40.039 Reset을 활성화 한다는 건 598 00:36:40.039 --> 00:36:42.779 이 Particle 자체가 나이아가라 시스템이 599 00:36:42.780 --> 00:36:45.499 아래쪽에 타임라인을 기준으로 해서 보면 600 00:36:45.499 --> 00:36:50.120 우리가 일시적으로 멈춰 놨다가 다시 시작하는 것이 아니라 601 00:36:50.680 --> 00:36:57.879 Set Active와 Reset이 함께 되어 있으면 0초에서부터 쭉 실행한다는 의미입니다 602 00:36:57.879 --> 00:37:02.600 그래서 이렇게 두 가지 세팅을 해 놓고 컴파일을 눌러 주겠습니다 603 00:37:02.600 --> 00:37:05.800 이 상태에서 레벨로 돌아가서 한 번 배치를 해보고 604 00:37:05.800 --> 00:37:08.320 간단하게 테스트를 해 볼 겁니다 605 00:37:08.320 --> 00:37:12.000 월드상에 이 디졸브 체어를 먼저 가져다 놓고요 606 00:37:12.000 --> 00:37:14.760 플레이 버튼을 눌러서 실행을 해 볼 겁니다 607 00:37:14.760 --> 00:37:16.840 이제 실행이 될 때 608 00:37:16.840 --> 00:37:19.439 Third Person 캐릭터가 화면에 나오게 되고 609 00:37:19.439 --> 00:37:22.080 클릭해서 뷰포트를 조작할 수 있죠 610 00:37:22.080 --> 00:37:24.520 이제 의자에 다가가 보면 611 00:37:24.520 --> 00:37:26.280 천천히 다가가겠습니다 612 00:37:26.280 --> 00:37:31.360 조금씩 다가가서 의자의 박스 컬리전 영역 안으로 들어가게 되면 613 00:37:31.360 --> 00:37:36.040 이런 식으로 이펙트가 발현되는 것을 확인할 수가 있습니다 614 00:37:36.040 --> 00:37:40.159 이제 의자가 여전히 사라지고 있지 않아서 어색하죠 615 00:37:40.159 --> 00:37:44.479 그래서 블루프린트에서 한 가지 작업을 더 해 줘야 되는데 616 00:37:44.479 --> 00:37:47.320 이렇게 Begin Overlap 상태일 때 617 00:37:47.320 --> 00:37:50.320 플레이어가 박스 컬리전 영역 안에 들어갔을 때 618 00:37:50.320 --> 00:37:54.479 StaticMesh에 컴포넌트를 드래그해서 가지고 와서 619 00:37:54.479 --> 00:37:56.919 보이는 기능을 꺼 줄 건데 620 00:37:56.919 --> 00:37:59.639 이것은 Set Visibility 입니다 621 00:37:59.640 --> 00:38:00.940 Set Visibility 622 00:38:00.940 --> 00:38:04.000 그래서 눈에 보이지 않도록 해줄건데요 623 00:38:04.000 --> 00:38:05.399 그럼 여러분들 입장에서는 624 00:38:05.399 --> 00:38:11.120 이 액티브와 비즈빌리티의 차이에 대해서 조금 아실 필요가 있습니다 625 00:38:11.120 --> 00:38:13.040 자 우선 컴파일을 돌리고요 626 00:38:13.040 --> 00:38:14.840 다시 한 번 실행해 보겠습니다 627 00:38:14.840 --> 00:38:16.800 플레이 버튼을 눌렀을 때 628 00:38:16.801 --> 00:38:18.281 이런 식으로 다가가 보면 629 00:38:18.281 --> 00:38:19.222 사라지죠 630 00:38:19.222 --> 00:38:22.040 근데 여러분들 이상한 거 못 느끼셨습니까 631 00:38:22.040 --> 00:38:23.800 자 다시 한 번 보여드리겠습니다 632 00:38:23.800 --> 00:38:25.840 ESC를 눌러서 실행을 멈추고 633 00:38:25.840 --> 00:38:29.959 여러분들이 의자의 그림자를 한 번 주목을 해 보세요 634 00:38:29.959 --> 00:38:32.479 플레이 버튼을 눌러서 다시 실행하겠습니다 635 00:38:32.479 --> 00:38:35.719 조금 바깥쪽으로 돌아서 의자에 그림자가 있죠 636 00:38:35.719 --> 00:38:38.200 컬리전에 부딪히게 되면 637 00:38:39.000 --> 00:38:42.599 Particle은 문자 그대로 Effect로서 작동하기 때문에 638 00:38:42.639 --> 00:38:45.399 평소에는 그림자를 그리고 있지 않습니다 639 00:38:45.399 --> 00:38:49.120 작동하지 않을 때는 StaticMesh를 배치를 해 둬서 640 00:38:49.120 --> 00:38:53.699 우선은 월드 상에 배치돼서 그림자가 그려질 수 있게끔 641 00:38:53.699 --> 00:38:55.560 해 줄 필요가 있는 것이고요 642 00:38:55.560 --> 00:38:57.919 ESC를 눌러서 되돌아 갈 겁니다 643 00:38:57.919 --> 00:39:00.280 만약에 이 Begin Play에서 644 00:39:00.280 --> 00:39:02.600 일단 Active를 활성화 해 놓고 645 00:39:02.600 --> 00:39:05.479 잠시 이건 비교를 위해서 잠깐만 하는 거니까요 646 00:39:05.479 --> 00:39:09.479 나이아가라의 Visibility를 끄도록 한번 해 볼 겁니다 647 00:39:09.479 --> 00:39:14.040 Set Visibility를 펄스로 두고 648 00:39:14.040 --> 00:39:20.320 그러면 연결이 안된 Set Active나 StaticMesh에 Set Visibility는 작동을 안 하겠죠 649 00:39:20.320 --> 00:39:23.439 나이아가라의 Visibility를 끈 겁니다 650 00:39:23.439 --> 00:39:26.560 그러면 시작할 때 제가 후다닥 달려가서 651 00:39:26.560 --> 00:39:29.520 박스 컬리전 영역에 들어가면 보이는 게 652 00:39:29.520 --> 00:39:32.520 이 Effect가 발현되는 게 꺼지겠죠 653 00:39:32.520 --> 00:39:34.679 우선 컴파이를 걸겠습니다 654 00:39:34.679 --> 00:39:37.600 Play를 눌러서 테스트 해보겠습니다 655 00:39:37.600 --> 00:39:42.280 Effect가 발현 중일 때 입자에다가 가면 갑자기 사라지죠 656 00:39:42.280 --> 00:39:45.239 다시 한번 입자가 있을 때 딱 가면 657 00:39:45.239 --> 00:39:47.278 갑자기 입자가 사라지죠 658 00:39:47.278 --> 00:39:51.120 이게 Visibility와 Active의 차이라고 할 수 있는데요 659 00:39:51.120 --> 00:39:55.959 기본적으로 Active는 이것을 펄스로 둔다는 의미는 660 00:39:55.959 --> 00:40:00.120 공장에 대한 가동을 중단하는 겁니다 661 00:40:00.120 --> 00:40:02.600 공장에 대한 가동을 중단하더라도 662 00:40:02.600 --> 00:40:06.959 이미 생산이 완료가 된 Particle 같은 경우에는 663 00:40:06.959 --> 00:40:10.560 월드상에 계속해서 남아 있게 됩니다 664 00:40:10.560 --> 00:40:14.760 반면에 Visibility를 비활성화 해 두면 665 00:40:14.760 --> 00:40:19.199 이 두 가지 모두를 비활성화 하겠다는 뜻이 되기 때문에 666 00:40:19.199 --> 00:40:25.239 Particle도 안보이고 공장도 중단된 상태라고 볼 수가 있겠죠 667 00:40:25.239 --> 00:40:27.479 그래서 발현되던 Effect가 668 00:40:27.479 --> 00:40:31.800 갑자기 눈에서 뿅 하고 사라진 것처럼 보이는 겁니다 669 00:40:31.800 --> 00:40:35.120 그래서 여러분들이 Particle이 자연스럽게 사라지게 하고 싶다면 670 00:40:35.120 --> 00:40:36.679 이미 생성이 된 Particle은 671 00:40:36.679 --> 00:40:41.479 자기 라이프타임 부여받은 것만큼 작동을 하다가 사라질 수 있게 672 00:40:41.479 --> 00:40:43.520 Particle을 안보이게 할 때는 673 00:40:43.520 --> 00:40:46.479 Visibility가 아닌 Active를 이용해서 674 00:40:46.479 --> 00:40:51.600 활성화되거나 비활성화되는 것을 제어해 주시는 것이 좋습니다 675 00:40:51.600 --> 00:40:53.439 자 우선 이렇게 뒀습니다 676 00:40:53.439 --> 00:40:58.000 여기에서 조금 특이한 증상이 있어서 하나를 보여 드릴 건데요 677 00:40:58.000 --> 00:41:03.879 우리가 계속해서 의자 뒤쪽을 보고 다가가니까 좀 이상하죠 678 00:41:03.879 --> 00:41:05.840 이거를 회전시켜 보겠습니다 679 00:41:05.840 --> 00:41:07.219 이렇게 회전 680 00:41:07.220 --> 00:41:09.334 그리고 나서 플레이를 누르고 681 00:41:10.439 --> 00:41:12.239 가까이 가보겠습니다 682 00:41:12.239 --> 00:41:17.560 그럼 갑자기 의자가 다시 180도 휙 돌아간 상태로 작동이 되었죠 683 00:41:17.560 --> 00:41:21.479 이 이유는 Effect에서 작동이 되는 공간이 684 00:41:21.479 --> 00:41:25.479 Local Space로 작동되게끔 체크를 해 주셔야 685 00:41:25.479 --> 00:41:29.639 우리가 월드상에서 의자를 돌린다고 하더라도 686 00:41:29.639 --> 00:41:32.800 돌아간 Actor 자체가 돌아갔기 때문에 687 00:41:32.800 --> 00:41:36.760 자식으로 붙어있는 나머지 컴포넌트들 688 00:41:36.760 --> 00:41:40.320 메시나 나이아가라나 박스도 모두 다 돌아가 있겠죠 689 00:41:40.320 --> 00:41:42.760 여기에 맞춰서 작동을 하기 때문에 690 00:41:42.760 --> 00:41:46.479 여러분들이 여기 있는 싱글 루핑 파티클 691 00:41:46.479 --> 00:41:50.159 그리고 블로잉 파티클도 로컬 스페이스 692 00:41:50.159 --> 00:41:51.980 이것을 체크해 주셔서 693 00:41:51.980 --> 00:41:54.619 플레이를 눌렀을 때 비교해 보겠습니다 694 00:41:54.619 --> 00:41:56.380 로컬 스페이스를 누르면 695 00:41:56.380 --> 00:41:58.639 이제는 가까이 다가갔을 때도 696 00:41:58.639 --> 00:42:02.379 정상적으로 사라지는 것을 확인하실 수가 있습니다 697 00:42:02.379 --> 00:42:06.879 마지막으로 이러한 보이고 안 보이고 제어하는 것 뿐만 아니라 698 00:42:06.879 --> 00:42:10.600 내가 만약에 파티클에 이 재생되는 시간 699 00:42:10.600 --> 00:42:14.040 사라지는 시간이 너무 오래된다 혹은 늦게 된다 700 00:42:14.040 --> 00:42:19.120 이런 것들을 우리는 지금 Share Loop Duration 이라는 것을 통해서 701 00:42:19.120 --> 00:42:21.479 일관되게 제어를 해 주고 있죠 702 00:42:21.479 --> 00:42:25.040 그렇기 때문에 블루프린트에서 재생되는 시간을 703 00:42:25.040 --> 00:42:28.040 내가 임의로 늘리거나 줄이는 것도 가능합니다 704 00:42:28.040 --> 00:42:34.239 Begin Play에서 나이아가라에서 Set Parameter 라고 검색을 해보면 705 00:42:34.239 --> 00:42:41.239 여러가지 파라미터 변수들에 대해서 우리가 값을 지정해 줄 수가 있는데요 706 00:42:41.239 --> 00:42:46.080 우리가 루프 듀레이션은 플롯이라는 형식을 통해서 생성을 했기 때문에 707 00:42:46.080 --> 00:42:50.439 나이아가라 플롯이라고 하는 노드를 먼저 생성을 하고요 708 00:42:50.439 --> 00:42:52.639 이벤트 그래프를 연결해 주고 709 00:42:52.639 --> 00:42:55.800 Value 이름은 똑같이 대소문자까지 맞춰서 710 00:42:55.800 --> 00:42:59.639 Share Loop Duration 이라고 지어주고 711 00:42:59.639 --> 00:43:04.280 내가 2초 동안만 짧게 발현되게 하고 싶다 라고 하면 712 00:43:04.280 --> 00:43:05.399 지정해 놓고요 713 00:43:05.399 --> 00:43:06.719 Play를 해 보겠습니다 714 00:43:06.719 --> 00:43:11.479 이제 부딪히게 되면 좀 더 빠르게 사라지고요 715 00:43:11.479 --> 00:43:15.439 만약에 10초 정도로 길게 설정을 한다면 716 00:43:15.439 --> 00:43:20.479 이런 식으로 10초 정도 길게 해서 플레이를 해 보면 717 00:43:20.479 --> 00:43:24.719 훨씬 오랫동안 작동이 되는 것을 확인하실 수가 있죠 718 00:43:24.719 --> 00:43:28.399 여러분들이 이런 식으로 이펙트를 다룰 때는 719 00:43:28.439 --> 00:43:33.000 굉장히 여러가지 요소들을 가지고 다뤄야 되는 만큼 720 00:43:33.000 --> 00:43:35.679 이 강의 영상에서 다루는 것 뿐만 아니라 721 00:43:35.679 --> 00:43:37.520 많은 테스트를 통해서 722 00:43:37.520 --> 00:43:41.699 여러분들만의 멋진 이펙트가 제작이 되었으면 좋겠습니다 723 00:43:42.099 --> 00:43:46.379 이번 시간에는 디졸브 머티리얼 제작 실습을 통해 724 00:43:46.479 --> 00:43:50.520 나이아가라 시스템을 제어하는 기능들에 대해 알아봤습니다 725 00:43:50.520 --> 00:43:54.600 이펙트는 실시간으로 변화하는 애셋이기 때문에 726 00:43:54.600 --> 00:43:59.719 시간 제어, 이펙트 등에서 3D 매치나 머티리얼보다는 727 00:43:59.719 --> 00:44:04.599 사전의 설계나 계획이 중요하다는 점을 강조드립니다 728 00:44:04.599 --> 00:44:09.500 그럼 이번 시간 학습한 내용을 정리하면서 마무리하겠습니다 729 00:44:09.500 --> 00:44:10.500 감사합니다 730 00:44:11.999 --> 00:44:12.780 다이나믹 머티리얼을 통한 머티리얼 효과 제어 다이나믹 파라미터 나이아가라에서 머티리얼을 직접 제어하기 위해 Dynamic Parameter노드 생성 731 00:44:12.780 --> 00:44:13.581 Noise 텍스처 World Position과 NoiseScale 파라미터 Multiply Noise 노드를 생성하여 Multiply 결과 World Position 연결 732 00:44:13.581 --> 00:44:14.302 일반적인 Texture사용 시 UV으로 인해 패턴이 어색해질 수 있음 733 00:44:14.302 --> 00:44:14.963 나이아가라에서 머티리얼을 직접 제어하기 위해 Dynamic Parameter노드 생성 734 00:44:14.963 --> 00:44:15.524 Dissolve 머티리얼 만들기 Step 노드 생성 후 X에는 Noise를,Y에는Dissolveval연결 Dissolveval에 DissolveEdge연결 735 00:44:15.524 --> 00:44:16.204 넓은 면과 좁은 면의 경계를 이용해 Edge 생성 736 00:44:16.204 --> 00:44:17.865 나이아가라 생성하기 StaticMesh Location모듈 추가 에러 메시지가 뜨면 Fix Now를 눌러 해결 737 00:44:17.865 --> 00:44:18.705 Emitter 설정 Particle Update에 Dynamic Material Parameters추가 Dynamic 머티리얼 데이터가 Emitter에 바로 연결됨 738 00:44:18.706 --> 00:44:20.086 User Parameter 각각의 Emitter State 선택 후 ShareLoopDuration으로 연결 하나의 값으로 여러 개의 Emitter값을 제어할 수 있음 739 00:44:20.086 --> 00:44:21.147 머티리얼 Instance를 머티리얼과 연결할 수 있음 나이아가라 시스템 내부와 외부 애셋까지 연동할 수 있음 740 00:44:21.147 --> 00:44:22.028 나이아가라 제어를 위한 블루프린트 설정 Blueprint 생성 StaticMesh 컴포넌트 추가 741 00:44:22.029 --> 00:44:26.209 NiagaraParticleSystem 컴포넌트 추가 Box Collision 컴포넌트 추가