출처 - https://www.youtube.com/watch?v=Ws4ukvCgTOU 출처 영상에 있는 Peer Play 님의 쉐이더 튜토리얼은 쉐이더 기초와 프로그래밍 기초는 할 수 있다고 가정하고 진행하는 것 같다. 그래서 내용이 퀄리티가 높다. 구현해 본 영상 원리 1. 쉐이더 안에서 색이 있는 텍스쳐 변수 A와 회색인 텍스쳐 변수 B를 만들어준다. 회색을 만드는 방법은 r , g , b 를 더한 후, 3으로 나누면 된다. // (c.r + c.g + c.b) * 0.333 (나누기 3) 보다 (곱하기 0.333)이 성능을 더 좋게 사용한다. 2. 마우스 포지션을 받아와서 일정 거리 이내이면 색을 입히고, 일정 거리를 벗어나면 회색을 입혀준다. 마우스 포지션은 c# 코드로 Ray를 이용해서 쉐이더..
기타/Unity
에셋스토어의 에셋인 '70 Fantasy Spells Effects Pack' 의 이펙트를 따라만들었다. - 이 이펙트를 따라 만들게 된 이유이펙트가 땅을 치는 타격감이 좋았기 때문이다. - 만들어 본 영상 첫번째 - Bloom 효과를 적용한 게임 안에서의 화면두번째 - Bloom 효과가 없는 이펙트세번째 - 단독샷 보라색이 따라만든 것이고, 파란색이 원본이다. - 과정이것을 따라 만들어보면서 쉐이더나 텍스쳐 등은 내 힘으로 만들어보려고 노력했다.그 결과 이펙트에 들어가는 쉐이더 2개와 텍스쳐 2개를 새로 제작해보았다. 쉐이더 1) HDR 컬러를 이용할 수 있는 쉐이더 이 쉐이더는 만들기 쉬웠다. 텍스쳐에 HDR 컬러를 곱하기만 하면 됐다.그러나 Particle에 있는 Color Over Lifetime..
출처 - https://www.youtube.com/watch?v=EthjeNeNTsM 영어 영상이다. 번역이 없어서 집중해서 들었는데 아는 단어가 조금씩 들리니 유추해서 들을 수 있었다. 이 쉐이더는 오버워치의 위도우메이커 궁을 보고, 구현해보고 싶었다. 역시 뭘 해볼지 정해놓고 찾는 게 쉬운 것 같다. 2Pass 를 사용한다. (드로우콜이 2배로 일어난다.) 1Pass 에는 그냥 z 버퍼를 다 무시하고 항상 그려준다. (이 때 정해진 색으로 다 색칠함.) 2Pass 에는 정상적으로 그려준다. 1 Pass 와 2 Pass 를 순서대로 실행시켜서 덮어버린다. 색깔도 바꿀 수 있다.
출처 - http://blog.naver.com/plasticbag0/221436480475 출처에 있는 블로그를 따라한 것이므로 자세한 내용은 출처를 들어가면 알 수 있다. 되게 오랜만에 올리는 게시글이다. 방학이라서 많이 쉬었다. ㅋㅋ 지금까지 나의 쉐이더 공부법은 유튜브에 튜토리얼 영상을 검색해서 나오는 것을 따라하는 것이었다.튜토리얼만 보다보니 공부하는 속도가 붙질 않았는데, 이제는 무엇을 만들고 싶은지 정하고 그것을 찾아 공부하니 더 재밌는 것 같다. 키워드가 생기니 자료 찾기도 쉬워진 것 같다. 이렇게 생긴 조각상 모델을! (에셋 스토어에서 Sculpture를 검색하면 무료 에셋으로 나온다.) 쉐이더를 이용해서 눈이 쌓인 것처럼 만들 수 있다.
책을 사게 된 이유유니티를 공부하고 제작하면서, 그냥 아무생각없이 개발했다. 그러나 프로젝트가 점차 커지고, 모바일 플랫폼을 타겟으로 잡으면서 렉이 문제가 되기 시작했다.최적화에 대한 문제가 크게 다가왔다. ㅠㅠ Gear VR을 이용해서 할 수 있는 게임을 제작할 때, 모바일에서 게임을 실행시키기 때문에 최대한 가볍게 만들었어야 했다.그렇지만 최적화에 대한 개념이 부족했기 때문에 무엇을 어떻게 손을 봐야할 지 몰랐다. 렉이 걸리니 VR을 이용할 때에도 멀미가 많이 났다. 그래서 책을 샀다. ㅋㅋ이번에도 방학을 맞이하면서 산 책인데, 최적화에 대한 기본적인 개념이라도 잡으려고 한다. 페이스북 홍보를 통해 책이 출간되는 것을 알게 되었고, 목차가 너무 좋아서 구매를 결심하게 되었다. 예약 구매해서 사은품으로..
쉐이더 변수에 접근하는 방법 오브젝트가 있다면, 스크립트에서 obj.GetComponent().material.SetFloat("변수이름", 값); 을 통해 접근할 수 있다. 물론 SetFloat말고도 변수의 종류마다 함수들이 있다. GetFloat해서 변수의 값을 받아오는 것도 가능하다. 유니티 메뉴얼에서 함수의 종류를 참고하면 된다. https://docs.unity3d.com/ScriptReference/Material.html 주의점 여기서 material 대신 sharedMaterial을 사용해서 접근할 수도 있다. 서로 차이점이 있다. material sharedMaterial의 값을 복사해서 인스턴스화 시킨다. 다른 오브젝트는 신경쓰지 않고 독립된 material을 가질 수 있다. 그래서 같..
출처 - https://www.youtube.com/watch?v=krKDqDL6hN8 젤다의 전설 게임에 나오는 타격 이펙트를 만들어 보았다. - 따라만든 이펙트 영상타격 이펙트이기 때문에, 이펙트의 타이밍, 색, 크기 등에 더 힘썼다. - 핵심 사항구조 사용된 텍스쳐 사용된 머터리얼 debris 뜻은 '부스러기' 이다. 시작할 때 팍 터지는 이펙트를 주기 위해서는 역시 사이즈를 결정하는 그래프가 중요하다. 처음에 훅 올라갔다가 천천히 커지는 그래프를 사용하면 타격감을 주기 좋다. Photoshop에서 텍스쳐를 Export할 때,웹용 PNG-24 로 내보내서 용량을 줄일 수 있었다. - 하고싶은 말영상에서 강의해주시는 분은 아르카도님이다.아르카도님의 이펙트 폴더 정리를 따라해야겠다. 되게 편하다. ㅋㅋ..
출처 - https://www.youtube.com/watch?v=U5u4sb2GicY 메쉬를 사용해서 이펙트를 만들어보고 싶었는데, 감이 잡히질 않았다. 유튜브를 찾다보니, 이펙트 만드는 과정에서 메쉬부터 텍스쳐까지 자세하게 가르쳐주시는 강좌가 있어서 따라 배울 수 있었다.무려 한국어 강좌 ㅎㅎ - 따라만든 이펙트 영상 - 핵심 사항 구조 사용된 메쉬 이펙트의 처음에 에너지가 모이는 이펙트가 나온다.쉐이더를 사용해서, UV의 값을 조절하면 중앙으로 모이게 만들었다. (쉐이더는 강좌하시는 분이 배포해주셨다.) UV 값을 조절하는 것은 Animation을 사용했다. 구체 이펙트에 사용된 모델이다.쉐이더를 사용해서, 구체에 텍스쳐를 UV로 흘려주었다. 이펙트가 끝날 때, 바람처럼 퍼지는 이펙트를 제작할 때 ..