728x90

프로그래밍 67

[Unity] 유니티 셰이더 베리언트 최적화 & 문제 해결 팁 Unity Shader Variants Optimization & Troubleshooting Tips

유니티 엔진에서 셰이더를 빌드할 때, 셰이더 베리언트가 다량으로 생성되면서 빌드 시간, 빌드 용량, 런타임 메모리 등 다양한 자원 낭비가 발생할 수 있습니다. 이런 낭비를 줄이고 최적화 하기 위해 알아 두어야 할 유니티 엔진의 셰이더 베리언트(Shader Variant) 최적화 관련 문서를 스크랩 합니다. 아래 문서는 2018년 5월 14일에 작성된 문서로, 시간이 좀 지나긴 했지만, 유니티 셰이더 베리언트가 생성되는 공식 등을 상세히 다룹니다.이런.기계 번역이지만, 한글 문서도 제공하고 있기 때문에 참고하기 좋습니다. Stripping scriptable shader variantshttps://unity.com/blog/engine-platform/stripping-scriptable-shader-v..

[Unity C#] Editor 에서 버튼 스타일 토글 UI 만들기

체크박스 형태의 토글이 기본형이지만, 종종 버튼 스타일로 여러 개 버튼을 열거하고 하나의 버튼만 선택된 상태로 만들어야 할 때가 있습니다. 아래 정렬 스타일 버튼처럼. GUILayout.Toggle() 함수를 활용하면 되는데, 적절한 메소드와 스타일을 넘겨줘야 합니다. 아래 두 가지 스타일의 코드 스니펫으로 활용할 수 있습니다.Style A 는 문자열 상수로 GUIStyle 을 인자로 전달하고,Style B 는 GUIStyle 을 명시적으로 생성해서 전달합니다.// Style Afor (int i = 0; i  이렇게 작성하면 체크박스처럼 동작하는 단일 선택 옵션 버튼을 생성할 수 있습니다. https://docs.unity3d.com/6000.0/Documentation/ScriptReference/G..

[Unity] Rigidbody, AddForce() 공식 문서 한글 번역

Rigidbody물리 시뮬레이션을 통해 오브젝트의 위치를 제어합니다. 오브젝트에 리지드바디 컴포넌트를 추가하면 오브젝트의 모션이 Unity 물리 엔진의 제어를 받습니다. 코드를 추가하지 않아도 리지드바디 오브젝트는 중력에 의해 아래쪽으로 당겨지고, 올바른 Collider 컴포넌트가 있으면 들어오는 오브젝트와의 충돌에 반응합니다. 또한 Rigidbody에는 스크립팅 API가 있어 오브젝트에 힘을 가하고 물리적으로 사실적인 방식으로 제어할 수 있습니다. 예를 들어 자동차의 동작을 바퀴에 가해지는 힘으로 지정할 수 있습니다. 이 정보가 주어지면 물리 엔진은 자동차 동작의 다른 대부분의 측면을 처리할 수 있으므로 사실적으로 가속하고 충돌에 올바르게 반응합니다. 스크립트에서는 힘을 가하고 리지드바디 설정을 변경하..

[Unity C#] 파일 경로 분리와 경로 구분자 변환: 두 가지 접근법 비교

Unity에서 파일 경로를 다룰 때, 디렉토리 경로와 파일명을 분리하거나, 경로 구분자(\, /)를 통일해야 하는 상황이 자주 발생합니다.이번 포스트에서는 경로를 효율적으로 처리하는 두 가지 방법, System.IO.Path를 활용한 방식과 string.Substring을 활용한 방식을 비교하고, Unity 환경에 맞게 경로 구분자를 통일하는 팁을 함께 소개합니다.파일 경로 분리가 필요한 이유게임 개발에서는 파일 경로를 다루는 일이 필수적입니다. 아래와 같은 작업에서 디렉토리와 파일명을 분리해야 하는 경우가 자주 있습니다:특정 파일만 선택적으로 불러오기파일명을 기준으로 데이터를 처리하기경로에 특정 디렉토리를 추가하거나 변경하기파일 경로 분리 방법: 두 가지 접근법파일 경로를 처리하는 방법은 크게 두 가지..

IT/프로그래밍 관련 포스트 모음 (사이트맵) (2024.11.26)

네이버 블로그에 2024년 11월까지 쓴 "IT/프로그래밍" 카테고리 포스트 모음입니다. 주기적으로 사이트맵 갱신됩니다. IT/프로그래밍 관련 포스트Shader 셰이더? 쉐이더?? 섀이더??? 뭐가 맞는 거야?https://m.blog.naver.com/sorang226/223638584555CG, HLSL, GLSL 셰이더 언어의 종류와 역사를 간단히 알아보자https://m.blog.naver.com/sorang226/2236373804225분만에 읽는 "디자인 패턴" 기초 정리 (by Unity e-book)https://m.blog.naver.com/sorang226/223619245147코딩 스킬에 필수, 몇만원짜리 "디자인 패턴과 SOLID원칙"전자책 무료로 받아가세요https://m.blog..

유니티 엔진 / 씨샵(Unity Engine/C#) 블로그 글 모음 (사이트맵) (2024.11.26)

.네이버 블로그에 2019년 2월부터 2024년 11월까지 쓴 유니티 엔진 / 씨샵 관련 포스트 모음입니다.주기적으로 사이트맵 갱신됩니다.Unity Engine / C# 관련 포스트[Unity] 유니티 커스텀 패키지 만들기, 추가하기 + 예시 패키지 (Hierarchy Decorator)https://m.blog.naver.com/sorang226/223672364624[Unity] LOD Bias 가 뭔가요? "Active LOD bias is 0.7 Distances are adjusted accordingly." 메시지 의미https://m.blog.naver.com/sorang226/223665242570유니티 엔진도 드디어 언리얼처럼 공식 비헤이비어 트리를 제공한다https://m.blog.na..

[책] <켄트 벡의 Tidy First?> 프로그래머 필수 추천 도서

구현 패턴, 익스트림 프로그래밍(Extreme Programming), TDD 등으로 잘 알려진, 소프트웨어 개발 분야의 선구자인  켄트 벡(Kent Beck)의 2024년 신간입니다. 켄트 벡의 Tidy First?얇지만 깊이있는 내용으로 프로그래머 필수 도서로 추천할 만 합니다.상세 리뷰는 아래 링크에서. 상세 리뷰 : 프로그래머 필수 도서  얇지만 깊이 있는 통찰력과 소프트웨어 설계 핵심을 담은 명서https://blog.naver.com/sorang226/223433172494 얇지만 깊이 있는 통찰력과 소프트웨어 설계 핵심을 " data-og-description="출판사로부터, 기쁘지만 부담 가득한 책을 선물받았습니다. 게임 프로그래밍을 독학하면서 큰 가르침을 주..." data-og-host..

책 리뷰 2024.05.01

한글 은,는,이,가 등의 조사 처리 C# 버전

자루님이 만들어두신 C# 으로 한글 조사를 처리하는 코드 스크랩. 게임의 메시지나 문자열 처리에서 특정 명사 뒤에 오는 조사를 자동으로 은/는, 이/가 로 처리해주는 알고리즘. csjosa.cs 파일로 구현돼있고, 정규표현식으로 "조사 패턴 매칭 식"을 작성. 조사의 종류를 pair 로 묶어 미리 생성해둠. 대상 문자열을 "조사 패턴 매칭 식"으로 검사해서 매칭된 패턴을 적절한 조사로 교체해주면서 문자열을 재구축 하는 방식. 저장소 https://github.com/myevan/csjosa GitHub - myevan/csjosa: c# 한글 조사 처리 c# 한글 조사 처리. Contribute to myevan/csjosa development by creating an account on GitHub..

[Unity] 최초 실행되는 UnityMain 함수 만들기 (RuntimeInitializeOnLoadMethod 상세 순서 설명)

유니티 엔진에서 초기화를 하고싶어 유니티는 BuildSettings의 Scenes In Build 목록에 셋팅된 0번 인덱스 씬으로 시작하게 됨. 이 때 씬을 로드하면서 초기화도 같이 수행하게 되는데, 씬에 올라간, 씬의 Hierarchy 목록의 GameObject 들의 Awake와 Start의 호출 순서가 보장되지 않음. Awake, Start 호출 순서가 보장되지 않더라도 초기화 처리는 가능하겠지만, 어떤 GameObject 들의 초기화보다도 먼저 초기화 처리를 하고싶은 경우가 있을 수 있음. 이 때, [RuntimeInitializeOnLoadMethod] 어트리뷰트(Attribute)를 활용해서 특정 static 함수의 속성을 설정해서, 게임이나 앱 실행 후 가능한 빠른 시점에 호출되도록 핸들링 ..

RenderDoc, Intel GPA, PIX 그래픽스 프로그래밍 프로파일링, 디버깅 도구

RenderDoc RenderDoc은 MIT 라이선스의 무료 독립형 그래픽 디버거. Windows, Linux, Android, Nintendo Switch™ 플랫폼에서 Vulkan, D3D11, D3D12, OpenGL, OpenGL ES RHI를 사용하는 모든 애플리케이션을 빠르고 쉽게 단일 프레임을 캡처하고 상세히 살펴볼 수 있습니다. https://renderdoc.org/ RenderDoc I've written this post with a specific target audience in mind, namely those who have a good grounding in existing APIs (e.g. D3D11 and GL) and understand the concepts of mu..

728x90
반응형