분류 전체보기
-
맥스와 언리얼 모두 왼손좌표계를 사용하지만, 언리얼의 Y축은 맥스와는 정반대를 가르킨다. 따라서, 애니메이터나 모델러가 작업한 결과물을 언리얼로 임포트하면 뼈대의 Scale 값이 뒤집히는 경우가 발생한다. (대표적으로 맥스에서 Mirror을 통해 생성한 본인 경우가 있다.) 이렇게 크기와 회전값이 뒤틀려 제대로 된 Bone Deformation을 할 수 없는 경우엔, 알아보기 힘든 매트릭스를 고쳐나가면 된다. 매트릭스 변환 방법과 순서는 아래 포스팅에서 확인할 수 있다. (https://develop-4-art.tistory.com/86)
[UE4/Mesh] 3DS Max와 언리얼의 좌표축 동기화맥스와 언리얼 모두 왼손좌표계를 사용하지만, 언리얼의 Y축은 맥스와는 정반대를 가르킨다. 따라서, 애니메이터나 모델러가 작업한 결과물을 언리얼로 임포트하면 뼈대의 Scale 값이 뒤집히는 경우가 발생한다. (대표적으로 맥스에서 Mirror을 통해 생성한 본인 경우가 있다.) 이렇게 크기와 회전값이 뒤틀려 제대로 된 Bone Deformation을 할 수 없는 경우엔, 알아보기 힘든 매트릭스를 고쳐나가면 된다. 매트릭스 변환 방법과 순서는 아래 포스팅에서 확인할 수 있다. (https://develop-4-art.tistory.com/86)
2021.10.12 -
언리얼 엔진 프로젝트의 심볼 용량이 꽉차거나, 지정되어 있지 않을 때 발생하는 오류다. 해결 방법은 비주얼 스튜디오를 통해 Symbol Path내 폴더를 비워주거나, Project\Binaries\Win64 (Default Symbol Path)를 비워준다.
[UE4/버그] 0xc00000ba / 멀티 플레이어 클라이언트 프로세스 실행언리얼 엔진 프로젝트의 심볼 용량이 꽉차거나, 지정되어 있지 않을 때 발생하는 오류다. 해결 방법은 비주얼 스튜디오를 통해 Symbol Path내 폴더를 비워주거나, Project\Binaries\Win64 (Default Symbol Path)를 비워준다.
2021.10.07 -
컴포넌트를 만들어 액터에 붙이는 시점은 아래 세 부분 정도로 나눠 볼 수 있다. 1. class construction 과정 2. blueprint construction 과정 3. beginplay 혹은 그 이후 과정 이때 대부분은 엔진 내 블루프린트 뷰에서 컴포넌트를 확인하기 위해 actor의 class construction 과정에서 'CreateDefaultSubobject' 함수를 통해 생성하고 초기화한다. 이런 경우, ActorConstruction (BeginPlay나 OnConstruction 이전)에서 Actor 내 Component를 등록하고 초기화한다. 하지만 ActorConstruction 이후 즉 BeginPlay나 OnConstruction에서 컴포넌트를 생성하는 경우 컴포넌트 ..
[UE4] 런타임 컴포넌트 생성컴포넌트를 만들어 액터에 붙이는 시점은 아래 세 부분 정도로 나눠 볼 수 있다. 1. class construction 과정 2. blueprint construction 과정 3. beginplay 혹은 그 이후 과정 이때 대부분은 엔진 내 블루프린트 뷰에서 컴포넌트를 확인하기 위해 actor의 class construction 과정에서 'CreateDefaultSubobject' 함수를 통해 생성하고 초기화한다. 이런 경우, ActorConstruction (BeginPlay나 OnConstruction 이전)에서 Actor 내 Component를 등록하고 초기화한다. 하지만 ActorConstruction 이후 즉 BeginPlay나 OnConstruction에서 컴포넌트를 생성하는 경우 컴포넌트 ..
2021.09.27 -
Volumetric Lighting for Many Lights in Lords of the Fallen (slideshare.net) Volumetric lights - Alexandre Pestana (alexandre-pestana.com)
[Lighting] Volumetric Lighting [자료조사]Volumetric Lighting for Many Lights in Lords of the Fallen (slideshare.net) Volumetric lights - Alexandre Pestana (alexandre-pestana.com)
2021.09.22 -
float getRectangleMask(float2 uv, float x, float y, float w, float h) { float lineX, lineY; lineX = smoothstep(x + w, 1, uv.x) + smoothstep(x - w,0, uv.x); lineY = smoothstep(y + h, 1, uv.y) + smoothstep(y - h,0, uv.y); float2 norm = float2(lineX, lineY); return length(norm); }
[HLSL] Smoothness Rectangle Maskingfloat getRectangleMask(float2 uv, float x, float y, float w, float h) { float lineX, lineY; lineX = smoothstep(x + w, 1, uv.x) + smoothstep(x - w,0, uv.x); lineY = smoothstep(y + h, 1, uv.y) + smoothstep(y - h,0, uv.y); float2 norm = float2(lineX, lineY); return length(norm); }
2021.09.17 -
파라미터 Tex : Texture2D UV : float2 float4 luminance = float4(0.30, 0.59, 0.11, 1); float2 dim; Tex.GetDimensions(dim.x, dim.y); float texH = dim.y; float texW = dim.x; // TOP ROW float s11 = dot(Texture2DSample(Tex, TexSampler, UV + float2(-1.0f / texW, -1.0f / texH)), luminance); float s12 = dot(Texture2DSample(Tex, TexSampler, UV + float2(0, -1.0f / texH)), luminance); float s13 = dot(Texture2DS..
[HLSL] Edge Detection - Sobel파라미터 Tex : Texture2D UV : float2 float4 luminance = float4(0.30, 0.59, 0.11, 1); float2 dim; Tex.GetDimensions(dim.x, dim.y); float texH = dim.y; float texW = dim.x; // TOP ROW float s11 = dot(Texture2DSample(Tex, TexSampler, UV + float2(-1.0f / texW, -1.0f / texH)), luminance); float s12 = dot(Texture2DSample(Tex, TexSampler, UV + float2(0, -1.0f / texH)), luminance); float s13 = dot(Texture2DS..
2021.09.16