트럼프가 단상앞에있는 큰 교실 같은데에서 사람들이 국가나 교가같은 다 아는노래 영어로 나 빼고 다 제창하는거임
나는 당연히 모르니까 입만뻐끔거리고 부르는척함
근데 트럼프 이새끼가 제일 잘불렀던 두명을 단상앞에 초대하겠대
그게 나랑 어떤다른놈인데
딱봐도 엿먹일라고 부른거였음
먼저나온놈도 안부른놈이라 에벨레벨레하고 죄송합니다 하고 드감


나도 어쪄지ㅅㅂ 고민하다 

첨듣는노래고 영어라서 모른다고 솔직하게 말하니까
트럼프가 나한테 갑자기 악수요청하고

사람들 환호하며 갑자기 다 밖으로 뛰쳐나감
그상태로 뭔가 위기를 잘 넘겼다는 기분으로 뻗었는데

결국 그 장소에 혼자남겨지고 개 빡쳐서 깸

 

트럼프가 왜나오는지는 제쳐두고

내가 느끼는 면접에대한 걱정과 압박감이 꿈으로 나온거같은데

예지몽일까봐 개무섭다.. 지원한거 취소하고싶을정도

 

 

dot연산을 이용해 옷에다 적용한 툰쉐도우. (아무튼 그림자임 )

 

원래는 디렉셔널 라이트로해야하지만 

스팟라이트가 보기 쉬우니까 이걸로.

 

콘텐츠브라우저 오른클릭 -> 머테리얼 -> 머레리얼 파라미터 콜렉션 

생성합니다.

 

 

액터에다가 라이팅 할것도아니고  포스트 프로세스 볼륨안에 넣기 귀찮으니 그냥 레벨블루프린트 안에다가 합시다.

 

요로케 빛의 정방향을 얻어옵니다.

 

그리고 원피스 머테리얼 편집.

 

*0.5+0.5는 half lambert라고해서 내적값의 범위가 1,-1 가서 검은색이 넓게 퍼지게되는데.

이것을 1~0까지만 되게 해주는 마법의 공식입니다 

 

dot을 모르겠으면 

 

대마왕님의 블로그에가서 공부해봅시다.

14 15강 보면 있음

https://chulin28ho.tistory.com/81?category=822622

 

ShaderFX를 이용한, 그래픽 디자이너를 위한 기초 쉐이더 강좌 14강

DOT 제대로 알기 14강입니다. 반갑습니다. 흠... 간만에 보니까 막 낯설고 막 이래. 전에 뭔 얘기 했지? 라는 생각에 13강 잠깐 보고 올께요 아... 그거 했구나... 13강때 드디어 Shader의 본질에 접근한 거였군..

chulin28ho.tistory.com

 

수학을 모르겠으면 

https://www.youtube.com/watch?v=P3U9DXFp9SA&list=PL-xqYJ8bjgMC-p94R7iXjFCs-znRg93PJ&index=12

 

원리는 이렇고 

 

문제가 두가지 있읍니다.

 

 

이렇게 라이트벡터가 캐릭터를 안봐서 밤이되거나해서 위를 볼때 

아래에서 비추는 귀신같은 조명이 되어버립니다. 

 

그리고 쉐이더는 dot 연산을 포함한 삼각함수는 나눗셈보다 훨씬 무겁다

+ if문같은 분기문도 중첩되면 무겁다. = 남용하지 말것

 

왜 무겁냐면 컴터가 기본적으로 이진수를 사용하고 나눗셈과 삼각함수의 연산과정을 보면 이해가 될겁니다.

if 분기문또한 내부적으로 빼기연산이지만

초당 30프레임을 렌더링할때마다 1프레임당 최소 몇백 픽셀에 저 연산을 한다고 생각하면.. 음 좀 에바임..

 

게다가 안이쁨.

 

그러니까 다음포스팅에서는 ramp텍스쳐를 활용해 최적화 + 내가원하는 그림자색깔 넣기를 포스팅 하겠습니다.

 

 

https://www.geeksforgeeks.org/output-of-c-program-set-18-3/

 

Print 1 to 100 in C++, without loop and recursion - GeeksforGeeks

Following is a C++ program that prints 1 to 100 without loop and without recursion. filter_none edit close play_arrow link brightness_4 code #include using… Read More »

www.geeksforgeeks.org

루프나 재귀 사용없이 1부터 100까지 출력이라니 ㅋㅋ 

 

여기만큼 잘설명하고 코드 깔끔한데가없다 

 

모던 c++14 까지는 대부분 나와있음

 

머학생때 했던것들 대부분있는데 내가 이 어려운걸 어케했었지 

 

역시 머리가 젊을때 공부해야하나봄 다 까먹어서 기억도안나네

 

오로지 2D로만 게임을 만들어놓고 

 

이렇게 완벽하게 동일한 3D모델로 재현 + 모션캡쳐 + 얼굴표정 자연스러움에 두번놀람.

 

머리카락이 눈을 가리지않고 반투명으로 되는건 눈에 zbuffer를 사용한건가 ㅋㅋ 

아니면 저 버텍스부분만 다르게 페인팅해서 반투명 만들어준건가

 

미춋다 미춋어.

'일상 > 게임' 카테고리의 다른 글

하고 있는 게임들 리뷰  (0) 2019.04.04

이경우는 라이트를 사용하지 않았을때다

 

하지만 언리얼에서 뷰포트모드에서 라이트에서 꺼주고 ini파일을 바뚸준들 shipping 으로 빌드하면 

적용 안되서 이건 아무 쓸모가 없다 히히

 

자 저번 포스트 따라했는데 라이트 포함을 켜면 

 

다이렉트 라이트 영향을 받는 캐릭터가 나올것이다.

 

이제 매트리얼을 더블클릭해서 노드 편집을 해주자.

 

쉐이딩 모델을 언릿으로 하자.

 

그러면 아웃풋 모델에 저렇게 이미시브 컬러만 적용할수있고 나머지 핀은 다 적용이안된다.

 

깜빡하고 안적었는데 곱하기와 더하기의 단축키는 m+왼클 a+ 왼클이다.

 

rbg값으로 설명하자면 0.0.0 은 검은색 111은 흰색이다.

 

어차피 이 글 보는사람은 프로그래머가 아니라고 가정해서 설명한다면.

 

곱하기 연산은 말그대로 저 맵의 rbg값에 노란색 rbg값을 곱해서 혼합시킨다는 개념이고

 

더하기연산은 덮어씌운다는 개념으로 이해하도록 하자.

 

 

 

하면 요로코롬 나온다.

 

근데 먼가 뿌얗다 색감이 안살아요.

 

맨 처음 스샷이랑 너무 차이나자너 

 

왜그렇냐면.

 

언리얼은 라이팅을 정말 대충해줘도 때깔이 정말 좋은이유가 

 

언리얼 내부에서 색 보정해주는 톤매퍼와 포스트 프로세싱이 자동으로 켜져있는게 있다.

 

이것에 대한 연관내용이 숨어있으니 열심히 구글링해서 찾았다.

 

http://api.unrealengine.com/KOR/Engine/Rendering/PostProcessEffects/ColorGrading/

 

컬러 그레이딩 및 필름 톤매퍼

씬 컬러 조절을 위한 톤매핑과 색보정 이펙트입니다.

api.unrealengine.com

 

자세한것은 이 문서를 참고.

 

무튼 언리얼에서 기본으로 적용된 톤맵퍼기능이 언릿계열과 상성이 안맞는 경우가 꽤 있다. 

 

~을 눌러 콘솔창에 

 

라고 입력해주자.

 

 

 

그러면 짠

 

머리카락 떄깔이 돌아왔다.

 

그리고 빛에 영향을 받지않기때문에 

 

포인트 라이트를 가까지줘서 보면 머리카락과 얼굴의 그림자는 안생기고 

 

눈깔과 머머리그림자만 나오는걸 알 수있다.

 

 

딱 여기까지는 내가 혼자 만들고싶었던 Vtuber 쉐이딩이다.

 

Vtuber는 라이팅이 필요없으니 여기까지만해도 내가 원하는 모델링 갖고와서 VR장비와 IK를 통해

 

속은 다리털 아저씨지만 겉은 미소녀로 사기를 칠수있다.

 

 

 

하지만 다음 포스팅에서 조금 더 욕심을 부려서

 

unlit을 그대로 사용하지 않고 

 

쉐이더 연산에저 자주쓰는 dot(벡터의 내적)을 사용해서 

 

빛을 받으면서도 만화같은 명암을 주는 셀쉐이딩에 대해서 포스팅 하겠다. 

 

 

1인개발, 모든 기능 블루프린트로 구현했으며,
스팀에 출시 했습니다.

 

 

스팀.

https://store.steampowered.com/app/1000370/SurReal_Subway/?beta=0

 

 

시한부 저주에 걸린  할아버지가 제한된 기간 안에 덕질하는 아이돌 콘서트에 가야하는것이 목적인 게임입니다.

 

엄청나게 느린 이동속도로 아이템과 각종 이벤트를 겪으며 버스를 타야하는 게임입니다.

 

 

구현기능.

 

cn컨트롤러 에셋을 활용한 이동.

 

할아버지(플레이어) 모델링과 애니메이션 제작.

 

자동차 신호등과 빨간불 파란불에따른 교통시스템.

 

무단횡단하는것을 보면 좆아오는 경찰관기능 구현과 모델링과 애니메이션 제작.

 

지팡이를 살 수있는 상점페이지 

 

싱클톤패턴과 스크립터블 오브젝트를 활용한 게임세이브기능과

 

내레이션 + 대화기능,

 

 

'포트폴리오 & 토이프로젝트 > 토이프로젝트' 카테고리의 다른 글

수중물리 구현  (0) 2019.04.04
프로토 타입  (0) 2019.04.04

전 게시물에서 fbx까지 만들었다.

 

이제 콘텐츠 브라우저 창에 언리얼 엔진으로 드래그 해서 임포트를하면 

 

 

 

임포트 옵션이 뜨는데 나중에 마네킹과 함께 리타겟팅 해서 애니메이션을 동기화 할거니 모프타겟만 체크해주고

모두임포트를 누른다.

 

 

내가 원한결과는 당연히 이건데

 

 

이렇게 나올것이다.

 

당연히 fbx는 그저 메쉬에 텍스쳐만 매칭되어있을뿐 아무런 쉐이더 적용이 안되어있기 때문.

 

따라서 이 초기화되어버린 머테리얼들을 작업해줘야한다.

 

 

 

이 머티리얼들을 더블클릭해서.

 

노말맵 이미시브컬러 맵 디퓨즈 컬러는 자동적으로 설정되어있어 수고를 덜었다.

 

저 머리카락 텍스쳐에 색깔을 곱하면된다.

 

뭔말이냐면 

 

VRM임포트 만드신 갓발자님께서 툰쉐이더를 이쁘게 구현해주셨으니

 

그걸보고 참고해서 따라하거나 추가하고 싶은부분은 내가 표현하면되는것이다

 

빨간색부분을 중점으로 보면 

cutout 렌더링모드는 흑백 0~1(255)값에 따라 모서리를 주는 타입의 렌더링모드다.

 

불투명 쉐이더니 당연히 opaque로 되어있고.

 

이미션은 저 하얀부분은 빛에 영향받는것을 제외한다는 말이다. 즉 저 머리칼에 하얀부분만 써주겠다 하는 맵이다.

 

다음으로 옷을 해보자

 

 

 

블렌드모드를 마스크로해주고 옷 텍스쳐의 알파값 핀을 오파시티 마스크로 끌어다 주면 

저 검은색부분은 제외되고 렌더링 한다.

 

나머지 속눈썹 부분도 이런식으로 매터리얼 전부 편집해주면 된다.

 

 

속눈썹 색깔도 머리 해주듯이 해주면 된다.

 

이작업을 다하면 대충 맨 첫그림과 비슷하게 나온다.

 

 

unlit이라 하면 unlighting을 줄인말인데 

카툰렌더링이 언릿을 기본으로 깔고있으며

빛이 들어오는 부분의 내적연산을 단계적으로 조절해서 그림자를 표현한다. 

 

라이팅 제외를 하니까 그럴싸 하게 나오지만 게임에 라이팅을 안쓸리가 없으니 

저것을 셀쉐이더를 입혀주도록하고

 

vrm쉐이더 코드를 뜯어서 최대한 비슷하게 만들어보도록 하겠다.

 

다음 포스팅에는 언리얼엔진에서 과도하게 뽀샤시하게 나오는 포스트 프로세싱을 꺼주고

톤맵퍼에 대해 알아보자.

+ Recent posts