목록분류 전체보기 (225)
그냥 게임개발자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czE5aH/btrm0pDGNZs/NfZOn2yhEQQ8XZp4uLWEWK/img.png)
내가 따라하는 영상은 DevSquad라는 분인데 배울게 많다. 나는 그냥 내가 이해한 것을 여기다가 포스트 하는 거지 솔직히 말하면 따라 쓰는 거다. 자 우리는 이 영상에서 썸네일만 봐도 알듯이 SCORING POINTS 점수를 얻는 기능을 넣어볼 거다. 이 블루프린트에 들어가서 일단은 Spawn Tile에 Delay을 주어 DestroyActor를 하게 노드를 짰다. 하지만 우리는 타일을 하나 넘어갈 때마다 점수를 추가하는 기능을 줄 것이기 때문에 Spawn Tile과 Delay타일을 Spawn Tile을 실행할 때 우리는 ThirdPersonGameMode에 형 변환할 것이다. 자 이 형 변환이라는 것은 무엇이냐 우리가 이 MasterTile블루프린트에 ThirdPersonCharacter에 있는 프..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/McKxE/btrmFpRiu7Y/80i4ehHgXwkN7ksPKpQIL0/img.png)
이때까지 포스트 안 한 이유는 내가 이해하고 설명해야 적기 편할 것 같더라고요. 저번에 우리가 만든 것은 타일 내에서 끝없이 달리는 블루프린트와 타일 자동생성, 자동생성 시 딜레이를 주어 destroy actor를 실행시켜 삭제를 하는 것을 했다 그렇다면 이제 템플x처럼 좌우로 움직일 수 있는 방식을 포스트 하려고 한다. 마스터 타일 블루프린트에 arrow 컴포넌트를 새로 추가해줬다. arrow 컴포넌트의 역할은 플레이어가 이동할 좌표로 사용하려고 한다. 움직일 좌표에 설정을 해주고 우리는 이제 이 좌표를 이용해 캐릭터를 움직일 것이다. ThirdPersonCharacter블루프린트에 들어가 보면 이렇게 설정해주면 된다. 이걸 설명하기 전에 변수부터 설정하자 오른쪽 사진처럼 이 세 개의 변수만 생성해주자..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqxMFF/btrlZue8lSP/85b0RVIOWTUyQ6SXfqXmb0/img.png)
3인칭으로 프로젝트를 만든 뒤 콘텐츠 브라우저에 블루프린트 목록에 3인칭 블루프린트로 들어가 카메라를 뒤로 조금 설정하고 GamePadInput하고 MouseInput 블루프린트를 지우고 MoveMentInput에서 Forward를 지우고 Event Tick(매 프레임마다 이벤트 실행)노드로 바꿔준다. 그러면 계속 달리는 캐릭터로 바뀐다. 항상 컴파일 저장 필수해주세요 무언가 바꿨을 때 꼭 해주어야 해요 아 일단 에셋부터 다운받자. https://drive.google.com/file/d/12EFMuYYd8ikmnXMGq75-HyVf7mv23Cgj/view EndlessAssets.zip drive.google.com 이제 다운받은 텍스처를 통해 노멀맵과 디퓨즈를 서로 결합하여 출력한 텍스처를 큐브에 입..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/E1bfQ/btrmrt7gqzE/daLTH4ys1fbkOeQuMzJPN0/img.png)
- 볼륨이란? - 라이트매스 볼륨 사용 - 컬 디스턴스 볼륨 사용 볼륨 사용에 대해 알아보기 전에 볼륨이란 무엇일까? 볼륨이란 언리얼에 배치에 다양한 일을 수행할 수 있는 특정한 액터이다. 플레이어가 갈 수 있는 곳과 갈 수 없는 곳을 결정하는 것부터 사운드 리버브 방식까지 언리얼의 기능상 상호작용할 수 있는 많은 요소가 사실 볼륨으로 제어가 된다. 볼륨은 아무렇게나 원하는 것을 레벨에 배치할 수 있다. 이번 포스트에서는 라이트 매스 볼륨과 컬 디스턴스 볼륨만 다룰 텐데 이 두가지 볼륨만 가지고도 언리얼에서 엄청나게 다양한 것을 할 수 있다. 라이트 매스 볼륨은 시뮬레이션의 경계를 정하여 라이트 매스가 계산할 가장 큰 영역과 작은 영역을 결정한다. 라이트매스 볼륨을 레벨에 두지 않으면 결국 라이트를 전혀..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhAic3/btrmblPa4Nr/oPJ5Pyi1YTjoIOI6WkmZQk/img.png)
라이팅 모빌리티 타입에는 3가지가 있다. Static, Stationary, Movable이다. 각 모빌리티 유형에는 라이팅의 성능 면에서 서로 다른 기능이 있다. Static 스태틱이 가장 저렴하고, 씬에서 아무것도 하지 못하는 라이팅을 의미한다. 라이팅이 게임 시작 전에 구워져서 형태나 모양을 전혀 바꿀 수가 없다. 정말 퀄리티 있게 보이면서 정말 빠르게 시작된다. Stationary 스테이셔너리 라이트는 씬과 상호작용을 할 수 있어 이 라이트로 인해 생기는 섀도는 움직이는 오브젝트가 해당 섀도와 어우러지게 해 준다. 하지만 스테이셔너리 라이트는 비용이 살짝 비싸다. 그 이유는 런타임에서 스테이셔너리 라이트의 라이팅 색상과 강도를 실제로 바꿀 수 있기 때문이다. 하지만 라이팅을 움직이지는 못한다. M..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mGBt0/btrl1YBy9dG/kPJopM9KBSqMcujkYEPEkK/img.png)
■텍스처 스트리밍 앞으로 많은 양의 텍스처를 다룰 때 특히 건축 시각화 프로젝트나 차량 프로젝트에서 텍스처가 좀 흐려지는 상황이 발생할 수있다. 디테일이 제대로 표시되지 않고 있다는 건데 그 이유는 제대로 스트리밍이 되고 있지 않기 때문이다. 일반적으로는 이런 걸 처리할 필요가 없지만 만약에 이런 일이 발생할 때 알아두면 좋은 정보이다. 스트리밍은 기본적으로 텍스처가 얼마나 크거나 작게 보일지 처리한다. 전에 밉맵을 다뤘는데 밉맵은 레벨 오브 디테일(LOD)를 추가하는 효과적인 수단이었다. 밉맵은 텍스처와 정확히 똑같은 버전이지만 그냥 다른 LOD를 살짝 작은걸로 보여주므로, 리소스의 비용이 더 적다. 텍스처 스트리밍은 이처럼 레벨의 오브젝트와 카메라의 거리에 따라 서로 다른 LOD를 스트리밍하는 것을 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SOlyw/btrl1XbB7dZ/rhXmm0ym4vKm01jPFipsAk/img.png)
- 부모 / 마스터 머티리얼과 그 자손 - 머티리얼 인스턴스를 생성 및 사용 - 부모 머티리얼 함수 기능의 재정의(오버라이드) 머티리얼 부모가 R, G, B를 다 사용할 수 있다면 자식들도 R, G, B를 사용할 수 있다. 즉, 이 말은 부모가 할 수 있으면 자손도 할 수 있고 부모가 할 수 없으면 자손도 할 수 없다. ■ 머티리얼 인스턴스 제작 머티리얼 인스턴스를 생성하는 것은 굉장히 쉽다. 콘텐츠 브라우저에서 머티리얼 인스턴스를 생성할 머티리얼을 오른쪽 클릭 후 맨 위에 머티리얼 인스턴스 생성을 누르면 된다. 또는 그냥 아무 빈칸에 오른쪽 버튼을 누른 후 머티리얼 & 텍스처 > 머티리얼 인스턴스로 생성할 수 있다. 나는 MAT_ENV_Master를 머티리얼 인스턴스를 생성했다. 보면 디테일 패널에 여..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cdy6HI/btrlVZ8i7wz/QGMcOnZsi9R5NRPKu5EQk1/img.png)
머티리얼 함수란? 머티리얼 간에 셰이더 코드를 공유하는 수단이다. 정확히 말하자면 특정 머티리얼 셰이더 코드를 공유할 수 있게 해주는 것이다. 하지만 Ctrl+C, Ctrl+V로 그냥 붙여 넣어서 일일이 손수 할 필요 없이 머티리얼 함수에 딱 하나만 조정해서 적용을 눌러주면 해당 머티리얼 함수를 사용하는 모든 머티리얼에 변경사항이 업데이트가 된다. 일단 머티리얼 함수를 만들어보자. 콘텐츠 브라우저 > 머티리얼 & 텍스처 > 머티리얼 함수 머티리얼 함수를 만들었으니 구성을 해보자. 전에 우리가 만든 두 개의 머티리얼을 서로 공유할 수 있는 간단한 텍스처 타일링을 하나 만들 거다. 이런 작업을 하는 이유는 타일링을 동일하게 유지시켜야 하기 때문이다. 지금 사용 중인 어느 머티리얼에든 벽을 타일링 하더라도 컨..