void PostList()

한장의 텍스쳐, 백색 바탕, 그리고 채도가 있는 하이라이트

이미지
1. 마테리얼로 해결하기 해당 마테리얼의 블랜딩 모드는 Translucent 로 설정했습니다. 1 -  Subtract 를 통해 하이라이트 색상을 표시한 영역을 결정합니다. Subtract 값이 높으면 높을수록 기존 색상에 더 많은 값을 빼기 때문에 하이라이트의 영역이 작아집니다. 2 - 1번 과정의 색상값에 Pow 를 통해 지수연산을 수행합니다. 이때 Exponent 값이 크면 클수록 경계가 선명해지고 작을수록 경계가 부드러워 집니다. 3 -  2번 과정에서 도출한 값을 선형 보간의 변수로 사용합니다. 만약 하이라이트 색상과 백색 색상이 선명하게 구분되는 비주얼을 원한다면 배경을 (1,1,1) 흰색으로 하는것보단 어둡게 설정하는것이 좋습니다.  ( 하얗게 깔면 색상이 전체적으로 타버려서 잘 대비가 안보입니다.. )  이 값은 Emissive Output 으로 연결합니다. 4 -  여기서는 Opacity 값에 추가적인 곱연산을 수행해 텍스쳐를 더 선명하게 표현했습니다. 2. 싸고 간단한 해결법   최적화와 섬세한 비주얼 조정 측면에서 마테리얼에서 조절하는 것보단 실시간으로 넘어가기전에 포토샵과 같은 수단을 통해 텍스쳐 자체에서 색상을 표현하는 것이 가장 이상적입니다. 3. Gradient Map 만약 마테리얼 에디터를 통해 여러 Gradient 맵을 돌려쓰고 싶다면 텍스쳐의 Intensity 값을 Gradient 텍스쳐 샘플러의 샘플링 좌표값으로 사용해 그라디언트 맵을 적용할 수도 있습니다.

Animated Draw Line Effect 만들기

이미지
  Path of exile 에 등장하는 이펙트를 모작하려다가 마법진을 그리는 애니메이션을 구현해야할 상황과 마주하는 바람에 해당 효과를 어떻게 만들까를 연구했습니다. 이것저것 해본 결과 제가 찾은 방법은 다음과 같습니다. 여기서 필요한 준비물은 텍스쳐 2장입니다. 1. 애니메이션을 구현하기 위한 Gradient 맵 2. 마스킹을 위한 마스킹 맵 과정은 다음과 같습니다. 1 - 애니메이션이 0이 시작점이고 1이 끝일때 애니메이션이 어느정도 진행되었는지 진행도를 주기위한 부분입니다. Smoothstep - Wikipedia Smoothstep 은 Hermite 보간법을 사용하여 위 이미지와 같이 선형값을 부드러운 곡선값으로 반환해주는 노드입니다.  파티클 시스템을 사용한다면 Smoothstep 없이 0과 1사이의 Dynamic Parameter 값을 커브에디터에서 적절하게 조절한 뒤 그대로 2번과정으로 넘겨주어도 됩니다. 2 -  1번과정에서 넘어온 값과 Gradient 맵을 더해줍니다. 이를 통해 선이 점점 그려지게 할 것입니다. 3 -  Power 를 통해 대비를 극단적인 형태로 만들어 줍니다.  제곱없이 그대로 Add 만 할 경우 선이 그려지는 느낌이 아니라 전체적으로 밝아지는 느낌이 되어버립니다.  Exponent 값이 크면 클 수록 선이 선명한 움직임으로 그려집니다. 4 -  앞선 과정을 통해 색상값이 1을 넘어가는 픽셀이 생기게 됩니다. 색상을 0과 1사이의 값으로 잘라주기 위해 Clamp 노드를 사용합니다.  이때 Saturate 노드를 대신 사용할 수도 있습니다. 5 -  앞의 과정과 마스킹 텍스쳐를 곱해 마스킹을 해줍니다. 이걸 안하면 앞에서 색상을 가산한 결과가 그대로 남아 선 모양이 안남고 전체적으로 하얗게 타버립니다. 6 - 파티클 시스템을 사용하지 않는다면 그대로 Emissive Output 으로 넘기거나 Tint Color Input 을 만들어 곱한 다음 넘겨주면 됩니다. 여기서는 파티클 시스템과 연동할 것이기에 Particle Colo

구멍 숭숭 뚫린 무언가 만들기

이미지
죄송합니다. 정작 이걸 뭐라고 부르는지 이름을 몰라 대충 작성합니다. 대충 토치 또는 화염 방사기 앞에 달린 구멍 뚫린 노즐을 만드는 방법입니다. 먼저 Base 가 되는 Cylinder를 하나 만듭니다. 그리고 대충 Edge Loop 를 통해 루프를 여러개 만듭니다. 다음 구멍을 뚫을 모든 면을 선택해 준다음 Select 메뉴에서 Checker Deselect 를 해주면 격자무늬로 버텍스를 선택 해제해주어 결과적으로 버텍스를 번갈아주며 선택한 모양새가 됩니다.  이상태로 Bevel을 주면 되는데 Affect 를 Vertices 로 하면 됩니다. 이때 Width 값을 조정해 구멍의 너비를 정해주면 되며 Segments 수를 최소 2 이상으로 주어 구멍이 원형을 이룰 수 있게 해줍니다. Shape값은 작게 주시면 됩니다. 이때 반대로 Shape 값을 높게 주면 구멍 모양이 다이아몬드 형태로 변합니다. 완성된 모습입니다.  마지막으로 Solidify Modify를 주면 두께를 만들어 줄 수 있습니다.

Array Modifier 로 오브젝트를 원형으로 나열하기

이미지
프로펠러의 날개, 꽃봉우리에 달린 꽃잎, 그외 복잡한 문양이 덕지덕지 붙어있는 장식등등.. 종종 위와 같이 동일한 모양이 몸통 주변을 둘러싼 장식들을 모델링해야하는 경우가 있습니다. 단순한 장식의 경우 둘레의 면들을 선택하고 Extrude 하여 형태를 잡을 수도 있지만 복잡한  장식이라면 Extrude 만으로는 힘든 경우가 있습니다. 이번엔 Blender 의 Array Modifier 로 둘레에 복잡한 장식들을 붙여보려고 합니다. 우선 둘레에 달아주기 위한 장식 한 파츠를 만들어줍니다. 이때 전체 둘레에 해당 모양이 몇개가 배치될 것인지 고려해서 크기를 맞춰줍니다. 그 다음 해당 장식 오브젝트의 원점을 둘러쌀 부모 오브젝트의 중심으로 잡아줍니다. 이 상태에서 장식 오브젝트에 Array Modifier 를 추가한 후 적절한 개수를 만들어줍니다. 현재 Relative offset에 값이 설정되어 있어 일정 간격으로 나타납니다. 여기서 Relative offset 의 각 축의 값을 0으로 설정하고 그 아래의 object offset의 체크박스를 활성화해줍니다. object offset 을 사용하면 특정 오브젝트의 transform 을 기반으로 오브젝트를 나열할 수 있습니다.  이 기능을 사용하기 위해선 오브젝트의 offset 을 참조하기 위한 다른 오브젝트가 필요합니다. 이를 위해 임의의 오브젝트를 새로 만들어줍니다. 저같은 경우에는 Empty 카테고리의 Plain Axes 를 사용하였습니다.  다음은 이 순서를 따르면 됩니다. 1. 장식 오브젝트의 Array Modifier 의 Object offset 의 오브젝트를 방금 만든 참조 오브젝트 ( 여기선 방금 만든 Plain Axes ) 설정한다 2. Plain Axes 오브젝트를 원하는 축으로 회전시킨다! 이렇게 하면 위 이미지와 같이 원형으로 나열되는 장식을 만들 수 있습니다. 혹시 Scale 이 이상하게 나온다거나 하는 문제가 발생한다면 오브젝트의 Transform 을 Apply 하시면 될 것입니다!. [ 참고

Flying Antique Shark

이미지
< Intro > 해당 프로젝트에 손을 대기 시작한것은 3월쯤인것 같은데 다른 프로젝트에 손을 대다보니 계속 미뤄졌습니다. 이대로라면 기껏 만들어놓고 방치될 것 같아 글로써 남깁니다. 이 프로젝트를 시작하게 된 계기는 언리얼 엔진 Scene을 위한 모델을 모델링하고, 리깅과 애니메이션을 넣고, 언리얼엔진에 모델을 Import 한 다음 하나의 장면을 만들어 보는것을 목표로 잡았습니다. 이에 더해 언리얼 엔진에서 제공하는 Volumetric Material 을 이번 기회에 활용해보고 싶었습니다. < Concept > 이번 프로젝트에서 주 쟁점은 3가지 사항이었습니다. 1. Blender에서 만든 모델을 Unreal 에 Import한 후 애니메이션 재생 2. 바닥면을 무작위 느낌으로 배치해보기 3. 언리얼 엔진에서 제공하는 Volumetric Material 사용해보기 따라서 이번 Scene은 학부시절 만들었던 상어 모델을 개조해 크림빛 하늘, 군도 위를 활공하는 스팀펑크 느낌의 상어를 만들어 보기로 했습니다. < Shark > 상어 모델은 귀상어 + 프리깃함을 기반으로 합성한 후 로터와 연료통, 그리고 꼬리를 제트 엔진으로 대체해 기계적 느낌을 주었습니다.  모델링 자체는 3ds MAX에서 작업을 진행했으며, 애니메이션 리깅작업은 블랜더에서 작업을 진행했습니다. 그리고 Substance Painter 에서 전체적으로 황동, 갈색톤으로 채색하여 스팀펑크 특유의 구리빛 느낌을 주었습니다. 이 상어 모델의 움직임의 중점은 날개 움직임과 로터의 회전, 그리고 마치 하늘 위를 헤엄치는 느낌을 주기 위해 바디부분의 뼈를 앞 뒤로 두개를 심었고, 각 날개와 윗 날개에 뼈를 심은 후 각 로터 회전을 위해 로터에도 뼈를 심은 후 리깅을 작업했습니다. 그 다음 애니메이션 작업을 진행하였는데 cycle modifier 를 넣었는데도 불