3ds Max 툴을 다시 배워보자. 저번에 한창 이펙트 만들기에 관심 많을 때, 3ds Max 프로그램을 다운받아서 튜토리얼 강의를 몇 번 따라 해 본 적이 있다. 지금 다시 해보려니까 기억이 하나도 안 난다. ㅠㅠ 저번에 3ds Max를 하다가 왜 그만뒀을까 생각해봤다. '게임을 만드는 데, 간단한 캐릭터 정도는 만들 수 있어야지.' 하는 생각에 3ds Max의 기초를 배웠었다. (사실 3ds Max가 좀 재미없었음.) 지루했었는데, Shader가 재밌어 보여서 Shader를 공부하러 갔다. Shader를 깊게 알아보려 하니, 기초 지식이 필요해서 렌더링 파이프라인을 공부했다. 렌더링 파이프라인을 이해하려면, DirectX를 해봐야 한다고 들어서 DirectX도 공부했다. 엄청 크게 돌아왔지만, 이제는..
오우.. 처음으로 언리얼에서 C++을 사용해본다. 아마 할 만하겠지..? 프로젝트 생성하기 처음 생성할 때 Blueprint와 C++을 고르는 것은 미세한 차이는 있지만, 의미가 없다. 언제든 프로젝트 내에서 블루프린트나 C++파일을 생성할 수 있기 때문이다. 직접해보니 블루프린트로 만들면 왼쪽처럼, C++로 만들면 오른쪽처럼 생성된다. GameModeBase가 블루프린트로 생성될지, C++로 생성될지가 차이점으로 보인다. 궁금해서 구글링 해봐도 정확히 뭐가 차이 나는 건지 모르겠다. C++ 파일 생성하기 나는 처음에 GameModeBase 파일이 보기 싫어서, 블루프린트로 생성했다. 블루프린트로 생성을 하게 되면, 우클릭을 해도 C++ 클래스 생성이 보이지 않는다. 그래서 처음 한번만 이렇게 생성해주면..
사이트 주소 color.adobe.com/ko/ https://color.adobe.com/ko/ color.adobe.com 컬러의 많은 조합을 지원해준다. 탭을 둘러보면 재밌는 게 많다. 티스토리 블로그를 꾸밀 때, 어울리는 색깔 없을까하다가 구글링을 통해 알게 되었다. 완전 좋은듯!!
Visual Studio에서 빌드를 하면, 계속 언리얼 엔진이 튕겼다. (엔진 크래시) 뭐가 문제일까 고민을 많이 하다가. 이득우님 책을 읽었을 때, 삭제해도 되는 파일들을 몇 개 소개해주신 게 기억났다. '이 파일들을 한번 삭제했다가 재시작하면 될까' 싶어서 해보았다. 삭제하고 재시작을 하니, 생각한 대로 파일들이 재생성되었다. 문제 발생 이후에 CPP 파일을 Visual Studio로 열었더니, 뭔가 이상해 보인다. 안돼!!!! ㅠㅠ 문제가 일어난 이유 삭제하면 안 되는 파일이었나..? 싶어서 이득우님 책을 다시 자세히 읽어봤다. Intermediate 폴더가 임시파일들을 저장하는 곳이라 삭제해도 되지만, 솔루션이 관리하는 파일들이 Intermediate 폴더 내 ProjectFiles 폴더에 존재한..
언리얼 문서 참고 docs.unrealengine.com/ko/AnimatingObjects/SkeletalMeshAnimation/AnimationRetargeting/index.html 애니메이션 리타기팅 리타기팅된 애니메이션을 여러 스켈레탈 메시에 사용하여, 애니메이션을 공유하는 법입니다. docs.unrealengine.com 애니메이션 리타기팅은 비슷한 스켈레톤을 사용하는 캐릭터에게 애니메이션 파일을 입혀주는? 느낌이다. 왼쪽의 모델에 오른쪽 애니메이션을 리타기팅해보겠다. 스켈레톤을 관리하는 곳에서 리타깃 매니저를 클릭하고, 리타깃 소스를 추가한다. 그 다음에는 릭을 설정해준다. 릭은 캐릭터의 뼈를 매핑해주는 작업이다. 이 뼈는 이 뼈의 움직임을 받는다. 를 설정해주는 것이다. (다리 뼈는 다리..
오늘이 DirectX 수업 마지막이었다. 제대로 이해한 내용들은 내가 이해할 수 있게 한번 더 정리했지만, 아직 자세하게 이해 못한 내용들이 있다. 나중에 정리할 것들인데, 어디서 막히는 지 알아야하니까 일단은 아는 데까지 적어보겠다. View Matrix (뷰 행렬) 구하는 법. 카메라가 존재하는 게 아니라, 카메라가 있다고 생각하고 오브젝트의 위치를 옮기는 것이다!!! 모두 눈속임이다. 1. 카메라를 왼쪽으로 5 움직인다면, 실제로는 오브젝트들이 오른쪽으로 5만큼 움직이는 것이다. 2. 카메라를 왼쪽으로 5 움직였을 때, 오브젝트의 옆면이 보이는 이유는 오브젝트가 조금 회전했기 때문이다. 이렇게 카메라를 기준으로 오브젝트의 위치, 회전 값을 바꿀 때 필요한 행렬이 View 행렬이다. 1. (바라 볼 ..
참고 링크 c++ 공부 www.youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb 물리기반 렌더러 이론 gamedevforever.com/93 이 링크는 이전 6일차 정리에서도 올린 링크이다. (그만큼 좋은 정리 글.) lifeisforu.tistory.com/category/Physically%20Based%20Rendering 타이머 만들기 (프레임 계산) 유니티를 공부할 때, 오브젝트를 움직이려면 습관적으로 Time.DeltaTime을 곱했다. 왜 곱해야 하는지 구글링을 해서 대충 이해하고 있었지만, 이제는 진짜 이해됐다. 일단은 CPU 클럭(Clock)을 알아보자. 클럭은 디지털 회로의 전기적 진동 수이다. Hz 헤르츠 ..
어제는 디퓨즈(난반사)를 하프램버트 공식으로 구현해보았었다. 오늘할 것은 1. 디퓨즈를 이용해서 툰 쉐이더 느낌을 내보기. 2. 스페큘러(정반사)를 퐁, 블린 퐁 공식으로 구현해보기. 3. 림 라이트도 구현해보기. (조명 연산이랑은 상관 없음.) 툰 쉐이더 느낌 내보기 지난 12일차에 구현했던 디퓨즈는 하프램버트 방법을 사용했다. 이 그래프를 수식적으로 좀 갖고 놀면 툰 쉐이더 느낌을 낼 수 있다. 툰 쉐이더 느낌 내기 만화 느낌을 내기 위해서는 음영이 계단처럼 뚝뚝 끊어지는 느낌이 나야한다. 1. 디퓨즈 연산을 곱해서 길게 늘리고, (나는 3을 곱함.) 2. 올림. (내림, 반올림 이런 것들 중에서 올림을 사용.) 3. 늘린만큼 다시 줄여줌. (나는 3을 곱했었으니, 3을 나누었음.) 코드로는 이렇게 ..