본문 바로가기

분류 전체보기

문제해결: 4. 선형 공간 텍스쳐 제작 관련 이슈 질문글 : https://cafe.naver.com/pinksox/8200 [UE4] 언리얼의 텍스처에서 알파 채널은 무슨 공간??? 감마 공간과 선형 공간 텍스처 차이를 테스트 해보려고 아래와 같이 머티리얼을 짜 봤습니다. GammaRGBA와 LinearRGBA는 sRGB 체크 유무만 다르고 동일한 텍스처... cafe.naver.com 출처 : TAN 오픈카톡 화면가득님의 이슈 감마 공간과 선형 공간 텍스처 차이를 테스트해봤는데요, GammaRGBA와 LinearRGBA는 sRGB 체크 유무만 다르고 동일한 텍스처를 사용하였습니다. R : 128 G : 128 B : 128 A : 128 (심지어 텍스처 사이즈도 128X128) 원래 제 예상은 sRGB 체크 유무와 관계없이, 알파는 Linear에서의.. 더보기
Unity: 모바일 MMORPG 프로젝트 카야 Project Kaya 살펴보기 차례 서론 설치 프로젝트 구성 - 씬 (로비, 무브먼트) - 캐릭터 (정보, 본, 무기) - 셰이더 그래프 (PBR, PBR Skin, Hair) - 렌더피쳐 (캐릭터 가려지는 부분 그리기) - 플래너 리플렉션 (바닥 반사) - VFX 그래프 (이펙트 파티클) 좋았던 점 아쉬운 점 바라는 점 서론 2020년 유나이트 서울에서 발표된 세션에 등장했던 프로젝트 카야가 베일을 벗고 유니티코리아 GitHub 리포지토리에 공개되었습니다. 유니티 코리아 오피스 10주년을 기념하여 누구나 내려받아 실행시켜 볼 수 있게 오픈한 점이 고무적입니다. 메인 캐릭터로 사용된 '카야'는 협력사에 외주발주를 통해 실제 게임 프로덕션 과정에 가깝게 제작되었다고 알려져, 적당한 더미를 사용해 실무에 큰 효용성이 없던 다른 테크 데모.. 더보기
언리얼: 모듈 추가해서 코드 분리 작성하기 참고링크 : https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/GameplayArchitecture/Gameplay/ Gameplay Modules Collections of gameplay classes belonging to a game project compiled into DLLs. docs.unrealengine.com 생성해야 하는 파일 모듈폴더/모듈이름.Build.cs 모듈폴더/모듈이름.h 모듈폴더/모듈이름.cpp 수정해야 하는 파일 Source/메인모듈.Target.cs Source/메인모듈Editor.Target.cs 새로 생성한 모듈 이름을 ExtraModule을 추가해준다. 프로젝트.uproject uproject에 모.. 더보기
언리얼: Delegates 블루프린트에서 할당, 바인딩, 호출 가능하게 하기 DECLARE_DYNAMIC_MULTICAST_DELEGATE(F...); 매크로로 델리게이트를 정의하고, 클래스 내에서 UPROPERTY를 붙여 델리게이트를 선언해줍니다. UCLASS 매크로에서 Blueprintable, BlueprintType을 지정해주어야합니다. BlueprintAssignable을 프로퍼티에 추가해주면 BP에서 이벤트 바인딩 및 언바인딩을 할 수 있습니다. BlueprintCallable을 프로퍼티에 추가해주면 BP에서 이벤트 호출을 할 수 있습니다. 더보기
Unity: 스크립트로 사용중인 그래픽스 아키텍처 파악하기 타겟 기기 뿐만 아니라 에디터에서도 어떤 그래픽스 아키텍처를 사용하는지 알 수 있습니다. SystemInfo.graphicsDeviceType을 호출하면 Direct3D11, Vulkan, OpenGLES3, Metal 등 구분하여 작업할 수 있습니다. https://docs.unity3d.com/ScriptReference/Rendering.GraphicsDeviceType.html Unity - Scripting API: GraphicsDeviceType Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each su.. 더보기
EOS: Epic Online Service 플러그인 1. 언리얼 엔진 유료 플러그인 https://redpointgames.gitlab.io/eos-online-subsystem/ EOS Online Subsystem for Unreal Engine | EOS Online Subsystem Use Epic Online Services in Unreal Engine! With support for authentication, friends, sessions, parties, presence, stats, achievements, leaderboards, Player Data Storage, Title Storage and peer-to-peer networking, this plugin has what you need to build game redpoin.. 더보기
EOS: 리더보드 예제 런타임 Assertion 에러 발생 ConvertUnixTimestampToUTCString 함수의 113라인 std::wstring DateTimeStrW() 에서 Assert를 통과하지 못하고 에러가 생기는 경우가 발생한다. 원인 탐색이 귀찮은 관계로 그냥 Leaderboard.cpp 호출부를 코멘트 아웃함. 로깅할 때만 쓰길래... 잘 받아온다. 더보기
Unity: 비동기와 코루틴을 혼동하지 않기 본론에 앞서 유니티에서의 대부분 로직은 동기 방식으로 작성되며, 흐름(Flow, Stream)을 관리하거나 시간을 조절해 시행해야하는 작업은 코루틴(Coroutine)이라는 기능을 활용하여 구현됩니다. 특히 유니티는 기본적으로 메인스레드가 아닌 곳에서의 네이티브 API 호출을 허용하고 있지 않습니다. 비동기 방식으로 로직을 작성하더라도 유니티 API를 사용해야 하는 끝단에서는 메인스레드에서 함수 Call 작업을 마무리 해 주어야 합니다. 이 때 일반적으로 사용되는 방식이 액션을 큐에 추가해 유니티 Update 루프에서 처리해주는 디스패처입니다. 이 방법론이 필요한 이유와 한계, 장단점을 알고 계시다면 아래 내용은 스킵해도 됩니다. 왜 게임 개발에서는 비동기 사용이 적을까요? 상용 엔진에서는 async/a.. 더보기