반응형 전체 글 [Unity] 셰이더 코드 (1) - 셰이더 언어 (Cg, GLSL and HLSL) 2024. 1. 17. 유니티에서의 셰이더 게임 엔진에서 셰이더를 다룬다는 것은 멋진 일이다. 그러나 셰이더를 배우고 활용하기란 쉽지가 않다. 많은 사전 지식을 요구하기 때문인 것도 있겠으나 가독성 좋은 한글 자료 또한 부족하기 때문일 것이다. 앞으로의 포스팅을 통해 셰이더를 코드로 다루는 방법을 기술하고자 한다. 셰이더 코드란? 대부분의 게임엔진과 DCC툴에서는 셰이더를 노드 형태로 많이 제공한다. 그 이유는 서론에서 언급한 전문성 때문이고, 셰이더를 다루는 아티스트들에게는 이러한 전문성이 진입장벽이 되기 때문이다. 그렇다면 셰이더를 노드 형태로 다룰 줄만 안다면 그래픽스는 해결이 되는 것일까? 사실 대부분의 문제점은 해결이 된다고 본다. 그러나 셰이더의 최적화 문제라던지 깊이 있는 셰이더 구현은 코드로만 가능하기 때문에 전.. [Blender] Automatic Weights 리깅 실패 해결 방법 (Bone Heat Weighting: failed to find solution for one or more bones) 2024. 1. 12. 에러 증상 및 원인 블렌더에서 Armature Deform - Automatic Weights를 통한 자동 리깅을 할 때 가끔 실패하는 경우가 있다. 이때 다음과 같은 에러 로그를 내뱉으며 리깅이 되지 않는다. 이는 자동 리깅을 하는 과정에서 가중치 계산 알고리즘이 적절한 솔루션을 찾지 못하여 발생하는 이유다. 이러한 원인은 여러가지가 있을 수 있다. 하지만 대부분의 경우 버텍스가 지나치게 밀집되어 있는 경우 발생한다. 해결 방법 버텍스 개수 감소 첫 번째로 해볼 수 있는 것은 밀집된 버텍스의 개수를 줄이는 것이다. 가능하다면 리토폴로지를 진행해도 되지만, 간단하게 아래와 같은 방법으로 우선 해결을 시도해 볼 수도 있다. 필자가 사용하는 방법은 크게 두 가지가 있다. 1. Edit Mode - Edge .. [Blender] 모디파이어 한 번에 적용하는 방법 (Modifier Apply) 2024. 1. 9. 블렌더에서 하나의 오브젝트에 여러 개의 많은 모디파이어가 적용된 경우가 있다. 모디파이어를 하나씩 적용시키는것은 귀찮은 일이다. 이때 여러개의 오브젝트의 모든 모디파이어를 한 번에 적용시키는 방법이 있다. 기존 방법 원래는 Modifiers에 있는 Modifier의 기능을 하나씩 Apply 해주어야 했다. 하지만 이 방법은 오브젝트가 여러 개일 경우 오브젝트마다 모두 해주어야 하는 단점이 있다. 해결책 다음과 같이 Object Mode에서 마우스 우클릭을 하여 Mesh로 변경해 주면 된다. [Blender] 지오메트리 노드 (Geometry Node) 2024. 1. 8. 지오메트리 노드란? Geometry Node를 우리말 그대로 직역하면 입체 도형 매듭정도가 될 수 있다. 하지만 이해하기 쉽게 풀어서 해석하면 지오메트리 노드는 노드를 사용해서 절차적으로 모델링을 하는 방법론을 의미한다. 절차적 모델링은 무엇일까. '절차적'이란 뜻은 '일련의 절차와 순서에 따라'라는 의미이다. 다시 말해 모델링을 어떠한 순서에 따라 하겠다는 의미이다. 그런데 그 주체가 바로 '노드'라는 것이다. 결국 노드에 의해 순서대로 모델링이 되는 것을 절차적 모델링이라 한다. 지오메트리 노드 사용방법 블렌더에서 지오메트리 노드는 Blender 2.92 이상의 버전이라면 모두 사용이 가능하다. 아래와 같이 Geometry Nodes 탭으로 이동하여 사용하면 된다. 자세한 사용 방법은 다음 포스팅부터.. [C#] .NET Framework와 .NET Core 그리고 .NET 2023. 12. 30. 지금의 .NET은 어떤 변화를 거쳐 왔는가? 그리고 왜 사용되는가. 이에 대한 해답을 정리하였다. 결론부터 말하자면 .NET은 .NET Framework에서 .NET Core를 거쳐 현재의 .NET이 되었다. 따라서 첫 시작점인 .NET Framework로 포스팅을 시작한다. MFC에서 .NET Framework로 MFC와 닷넷 프레임워크 .NET Framework가 무엇인지에 대해 이해하기 이전에 MFC(1992년 배포)에 대해 먼저 알아야 한다. MFC는 Microsoft Foundation Class Library의 약자로 Window OS에서 동작할 수 있는 응용프로그램을 제작할 수 있는 C++기반 라이브러리이다. 하지만 시간이 지나며 MFC는 구식 라이브러리가 되었고 C++에서 오는 불편함이 많.. [영상] 영상 제작 해상도 2023. 12. 28. 일반적인 16:9 비율의 영상일 경우 유튜브에 영상을 업로드 하는 경우 해상도는 다음과 같이 지정해주어야한다. 4320p(8k): 7680x4320 2160p(4K): 3840x2160 1440p(2k): 2560x1440 1080p(HD): 1920x1080 720p(HD): 1280x720 480p(SD): 854x480 360p(SD): 640x360 240p(SD): 426x240 영상이 시네마 스코프 형태일 경우 영화처럼 가로가 긴 형태의 뷰는 2.35:1 비율을 갖고 있다. 일반적인 시네마 스코프 해상도는 1920x800과 2048x858이지만 유튜브 해상도에 맞게 변형을 해야한다. 시네마 스코프 비율로 영상을 제작하기 위한 해상도는 아래와 같다. 4320p (8K): 7680x3264 216.. [Unity] 돌리 트랙 방향이 이상할 때 해결 방법 2023. 12. 28. Dolly Track 사용 시 Dolly Camera 방향 이슈 유니티에서 시네머신을 사용할 때 돌리 트랙과 돌리 카메라를 같이 사용하는 경우가 있다. 이때 가끔 트랙을 따라 움직이는 카메라나 오브젝트가 트랙과 같은 방향이 아닌 다른 방향을 바라보며 움직이는 이슈가 발생하였다. 이를 해결하지 않으면 매번 타임라인에서 수작업으로 변경해줘야 하기 때문에 아래의 해결 방법으로 고쳐줘야 한다. 원인 및 해결 방법 이슈 발생 상황 정확한 기술적 원인은 알 수 없으나, 돌리 트랙을 수정하는 과정에서 트랙 자체의 Rotation이 변경되면 트랙을 따라 움직이는 오브젝트의 방향값이 수정된다. (유니티 2022.3 LTS 기준) 아래의 이미지처럼 Rotation이 (0, 0, 0)이 아닌 다른 값이라면 이슈가 발생할 수.. [C#] 배열/리스트/스팬 비교 (Array/List/Span) 2023. 12. 26. 자주 사용되는 반복기 속도 비교 배열과 리스트 그리고 스팬(Span)의 반복문에서의 속도 비교를 측정하였다. 사실 측정 방법에 따라 결과가 크게 바뀌었는데(배열과 스팬이 거의 동일하게 측정되는 것이 대부분이었다.), 자주 사용되는 내림차순 정렬을 예시로 포스팅하였다. 반복문 코드 사용된 코드는 아래와 같다. 배열(Array) private void LoopArray(int[] _array) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); for (int i = 0; i _array[j]).. 이전 1 2 3 4 5 6 ··· 18 다음 3/18 반응형