TA: 나이아가라 시스템(Niagara System)
언리얼에서 기존에 제공되던 캐스케이드(Cascade) 시스템을 잇는 다음세대 VFX시스템이 나이아가라(Niagara)다. 폭포라는 뜻에 이어 상징성 큰 폭포인 나이아가라를 따와서 지은 차세대 시스템 답게 더 많은 기능, 복잡한 이펙트를 제공한다. 파라미터를 나이아가라 내부에서 선언하고 블루프린트를 통해 손쉽게 전달할 수 있다. 스켈레탈 메쉬같...
언리얼에서 기존에 제공되던 캐스케이드(Cascade) 시스템을 잇는 다음세대 VFX시스템이 나이아가라(Niagara)다. 폭포라는 뜻에 이어 상징성 큰 폭포인 나이아가라를 따와서 지은 차세대 시스템 답게 더 많은 기능, 복잡한 이펙트를 제공한다. 파라미터를 나이아가라 내부에서 선언하고 블루프린트를 통해 손쉽게 전달할 수 있다. 스켈레탈 메쉬같...
게임에서 새로이 객체를 월드에 스폰하는건 생각보다 부하가 심한 일일 수 있다. 간단한 상황에선 문제가 없을 수 있겠지만, 수많은 객체가 움직여야하는 MMO, 많은 탄환이나 아이템이 존재하는 FPS등 복잡한 상황에서는 매번 총알이나 아이템을 스폰수 삭제를 반복하는 과정은 성능에서의 부담을 가진다. 메모리에 할당과 해제를 하는 과정 자체가 단순 일부...
피가 튄 데칼 자체는 꽤나 많이 찾아볼 수 있는데, 데칼로 쓸 수 있는 것들 중에는 입체감까지 있는게 많이는 없는 것 같다. 노멀맵이 머티리얼로 같이 쓰이도록 주어지는 경우도 있긴 하지만 그렇게까지 만족스럽지는 않다. 일반 액터에 쓰이는 머티리얼이라면 World Position Offset으로 입체감을 살리는 방법도 있겠으나, 데칼에서는 적용되지 않는...
6각형의 타일 맵은 꽤나 매력적인 선택지일 수 있다. Hex Map이라는 이름으로 불리는데 여러가지 구현법이 있긴 하겠다. 핵심은 x,y축이 직교하는 좌표계를 6각형 타일에 알맞는 좌표계로 변환하는 것인데, 예전에 처음 생각했던 방법은 벡터연산을 이용하는 법이였다. 육각형 방향벡터로 나눠서 계산하기 육각형을 배치하는 상황을 생각하보면 하나의 육각형...
탑뷰 시점의 게임을 만들었을 때, 손전등을 이용해 비춘 모습을 위에서 보면 손전등이 비친 부분만 보이게 된다. 사실적인 비주얼인건 맞지만, 경로가 보이지 않기에 수직인 벽에 빛만 비춘다면 수직방향 기준으로 반사될 빛이 없기에 꽤나 어둡게 보이고 아무것도 인지할 수가 없다. 그래서 방향이라도 인식하게 하고 자연스럽게 만들고자 먼지나 안개낀듯한 산란효과를...
레벨디자인 레벨을 디자인하는 모든 일련의 행위. 지형/동선의 설계, 사물의 배치등 레벨을 만드는데 관련된 과정이 모두 레벨디자인으로 부를 수 있다. Environment Light Mixer 언리얼에서 제공하는 기초적인 레벨 광원 세팅용 기능. Directional light, SkyAtmosp...
마스터 머티리얼(Master Material) 머티리얼을 만들다 보면 동일한 패턴으로 색상, 속도, 텍스처등 일부만 바꾼채 노드/그래프의 구성을 거의 동일하게 가져갈 때가 많이 있다. 이럴 때 해당 구성을 템플릿/함수처럼 미리 만들어놓고 재사용 할 수 있도록 제작해놓는 표준이되는 머티리얼을 마스터 머티리얼(Master Materia...
코딩 습관 데이테 묶기 함께 사용되는 데이터의 패턴이 같다면, 구조체로 묶어 사용하는게 더 깔끔하고 명확하다. 기본형 집착 복잡한 데이터를 무리하게 기본형으로 표현하기보단, 구조체, 클래스로 변경해 명확히 표현하자. ...
전에는 라인 트레이스를 사용하는 법을 알아봤고, 이번엔 그를 이용해 샷건을 한번 만들어보자. //WeaponBase.h #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "WeaponBase.generated.h" class UArrowComponent;...
재귀(Recursion) 반복을 구현하는 한 형태로 반복문과는 다르개 스스로를 다시 호출하는 행위를 통해 구현하는 방법이다. 함수의 형태로 함수가 스스로를 다시 호출하는 자기호출/재귀호출(Recursive Call)과 호출의 반복을 끊어줄 조건인 바닥상태(Base Case)로 이루어진다. 문제의 상태를 함수로 바로 표현함...